In production, we've seen $CHILD_STATUS be nil and thus the call to #exitstatus fail. If I'm reading this correctly - https://ruby-doc.org/core-2.2.3/Process/Status.html - this might happen if the underlying exec() (or possibly fork()?) call fails, so this treats it the same as if the client fails.
We could also break this out into a different error class if people find that valuable.
In production, we've seen
$CHILD_STATUS
be nil and thus the call to#exitstatus
fail. If I'm reading this correctly - https://ruby-doc.org/core-2.2.3/Process/Status.html - this might happen if the underlyingexec()
(or possiblyfork()
?) call fails, so this treats it the same as if the client fails.We could also break this out into a different error class if people find that valuable.