http://www.perlmonks.org?node_id=991092


in reply to Re^8: Multithreaded Server Crashes under heavy load
in thread Multithreaded Server Crashes under heavy load

which does open( PUTFILE, ">$outfile" ) or threads->exit;. The threads->exit is clearly getting called, leaving the socket open.

FWIW: I have written a crap load of threaded perl code and never had occasion to use thread->exit;. It is IMO redundant and dangerous.

I would code that line as simply:

open( PUTFILE, ">$outfile" ) or return;

That way, all the normal perl cleanup will take place before the thread function returns and the thread terminates.

Try it, it just might sort out a lot of your problems!


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

RIP Neil Armstrong

Replies are listed 'Best First'.
Re^10: Multithreaded Server Crashes under heavy load
by rmahin (Scribe) on Sep 11, 2012 at 17:49 UTC
    Hey sorry for the late reply, but I think everything is working great now! I essentially did what you suggested so looks like that was what was killing me. Been running for a week and no problems. Thanks very much for the help.