I'm seeing IPC::Run spawn a child process which runs as expected, but when the child completes and exits, the parent doesn't notice until the timeout has completely elapsed. The child is listed as a zombi by ps(1). I run this:
and get this:$ time perl -MIPC::Run=run,timeout,timer -lwe 'run(["/bin/sleep", 5], +timeout(10));'
0m11.129s (0.100u 0.000s)11 seconds elapsed because the parent didn't cleanup the child process when it finished.
If I simply change the timeout to 3 seconds, I get the expected behavior of IPC::Run throwing an exception.
I've installed IPC::Run v0.80 with the CPAN shell, with a package I built myself and with a Fedora package I downloaded, as well as a Fedora v0.79 package I downloaded, all give the same result.
I've used IPC::Run before without this problem on the same architecture I have now and can't find the culprit.
Host: Linux kolsch.srv.office 2.6.9-55.0.2.EL.xs4.0.1.495xenU #1 SMP Mon Aug 13 09:19:16 EDT 2007 i686 i686 i386 GNU/Linux
OS: CentOS release 4.5 (Final)
Perl: 5.8.5
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |