http://qs321.pair.com?node_id=553319

JFarr has asked for the wisdom of the Perl Monks concerning the following question:

Hello Monks,
I have a irriating thread(s) problem.

We have the following code:
Everything looks fine but......

use threads; use threads : shrared; foreach $host (@list_of_nodes) #we are connecting other PCs { threads->new(\&somefunction, $host); } (threads->list)[0]->join while threads->list;
The "somefunction" has nothing special in it, just some print statements and calls to show host name, ip address, etc.....

I have a small handle on Perl threads, I'm a C++ developer, so Perl causes me no end of trouble :)

The problem that we keep encountering is that randomly the threads hang or never return.

I've looked through my Perl books, but there is not much documentation and the web is not much more help.

What can be done to kill the stray thead and warn the user that a thread has gone on to la-la-land. Is there a way to terminate this thread?

Thanks

2006-06-02 Retitled by jeffa, as per Monastery guidelines
Original title: 'thread help please'