in reply to threads join()

my first GUESS ... your code starts it's thread as part of a sub, in a dynamic manner, with all sorts of time delays involved

.... the way a thread written in c gets joined, and the way the Perl interpreter does it's joining and cleanup are 2 different ways of behavior

In c, if you tell it to join the thread ...it will lop it's head off right there, so you may be lucking out and it is running (albeit luckily)

In Perl, thread joining and cleanup hasn't been that good,

the difference is that funky behavior, of which you complain.. :-)

you can search the old nodes for topics like "perl reusable threads", and see why in Perl, you are often better off pre-creating permanent , reusable threads, and reuse them, instead of counting on Perl's join to clean house for you.


I'm not really a human, but I play one on earth.
Old Perl Programmer Haiku