parrot (r8016): no change. hangs w/98% cpu. here's the -t output: >parrot -t test_b.pasm 0 find_global P5, "_foo" - P5=SArray=PMC(0x7d5a50), 3 new P2, 18 - P2=PMCNULL, 6 find_method P0, P2, "thread3" - P0=PMCNULL, P2=ParrotThread=PMC(0x7d5a08), 10 new P6, 54 - P6=PMCNULL, 13 set I3, 2 - I3=1, 16 invoke 17 set I5, P2 - I5=0, P2=ParrotThread=PMC(0x7d5a08) 20 getinterp P2 - P2=ParrotThread=PMC(0x7d5a08) 22 find_method P0, P2, "detach" - P0=NCI=PMC(0x638620), P2=ParrotInterpr eter=PMC(0x637dc8), 26 invoke 27 defined I0, P6 - I0=1, P6=TQueue=PMC(0x7d59f0) 30 unless I0, -3 - I0=0, 27 defined I0, P6 - I0=0, P6=TQueue=PMC(0x7d59f0) 30 unless I0, -3 - I0=0, 27 defined I0, P6 - I0=0, P6=TQueue=PMC(0x7d59f0) 30 unless I0, -3 - I0=0, 27 defined I0, P6 - I0=0, P6=TQueue=PMC(0x7d59f0) 30 unless I0, -3 - I0=0, 27 defined I0, P6 - I0=0, P6=TQueue=PMC(0x7d59f0) 30 unless I0, -3 - I0=0, 27 defined I0, P6 - I0=0, P6=TQueue=PMC(0x7d59f0) 30 unless I0, -3 - I0=0, etc
On 5/15/05, Vladimir Lipsky <[EMAIL PROTECTED]> wrote: > > the 'detatch' threads test hangs on win32. this small patch skips one > > Could you try the following code('the detatch' threads test with one tweak) > and tell me if it hangs either and what output you get? > > find_global P5, "_foo" > new P2, .ParrotThread > find_method P0, P2, "thread3" > new P6, .TQueue # need a flag that thread is done > set I3, 2 > invoke # start the thread > set I5, P2 > getinterp P2 > find_method P0, P2, "detach" > invoke > wait: > defined I0, P6 > unless I0, wait > print "done\n" > sleep 5 # Maybe a race condition? > end > .pcc_sub _foo: > print "thread\n" > new P2, .Integer > push P6, P2 # push item on queue > returncc > >