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 - rcap...@pobox.com

Reply via email to