POE::Wheel::Run ClosedEvent reliability and SIGCHLD timing changes

Rocco Caputo <[email protected]>
Newsgroups gmane.comp.lang.perl.poe
Message-ID <[email protected]>
There has been an issue on some systems (Linux, it seems) where  
POE::Wheel::Run doesn't emit a CloseEvent for children behind a pty or  
pty-pipe conduit.  Philip Gwyn provided test cases for this, and we  
were able to make a fix.  POE's repository has it now, and you can get  
a copy to try by running:

svn co https://poe.svn.sourceforge.net/svnroot/poe/trunk/poe poe

There's a caveat.  The timing between SIGCHLD delivery and EOF from a  
child process may have changed.  It may even vary.  Do any operating  
systems even guarantee an order?

If you suspect you have a program that relies on SIGCHLD or CloseEvent  
coming first, please check out and test a copy of POE as soon as  
possible.

For those whose code breaks, it may be more reliable after revision  
2617 to trigger cleanup on CloseEvent rather than SIGCHLD.  Programs  
will still need to register sig_child() watchers to reap child  
processes, though.

-- 
Rocco Caputo - [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.