in reply to Win32 ActiveState Perl 5.8 - use threads

Just a simple idea for you...can you put a shared variable in each thread called $im_alive, and set it to 1 when the thread is launched, and have the thread set it to 0 just before it exits. Of course that requires you to track each thread (and it's associated shared variable) in a hash if you have more than one thread going. There also may be timing problems in checking the shared:var, you may need to allow time for the thread to initiate before checking it. I avoided this by setting the shared var to 1 outside of the thread.
#!/usr/bin/perl use warnings; use strict; use threads; use threads::shared; my $im_alive : shared = 1; my $thread = async {sleep 10; print "Ok\n"; $im_alive = 0; }; my $i = 0; while (1) { $i++; print "$i - $thread\n"; print "im_alive->$im_alive\n"; if ($im_alive == 0) {last}; sleep 1; }; print "im_alive->$im_alive\n"; print "hit enter to exit\n"; <>;

I'm not really a human, but I play one on earth. flash japh