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


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.
...

  • Comment on Re: Proc::Simple - exit_status function returns -1