in reply to Proc::Simple - exit_status function returns -1
Please update your Module.
I've also seen this bug and posted a patch here which was accepted and merged into version 1.28.
Title: exit_status() can fail to return valid exit state after sufficently long runtime.
Problem:
A main process that runs sufficiently long might get an 'undef' or -1 form exit_status() instead of the real execution status.
...
Analysis:
If a Proc::Simple variable/object is DESTROYed while the associated Proc::Simple-process has already terminated, the PID is unnecessarily remembered in %DESTROYED for later reaping. If another process re-uses the PID (e.g. after the OS' PID wrap-around) the process is reaped by sub THE_REAPER and the execution state is lost since the %DESTROYED hash is checked before the %EXIT_STATUS hash there.
...
|
---|