If you call #communicate on a process with no open pipes, and the
process exits before we enter the catching_sigchld block, we would
deadlock forever waiting on a SIGCHLD that would never arrive.
Arguably calling #communicate on a process with no open pipes should
be an error, but it's arguably useful as a synonym for #wait if you
don't know whether or not there's output, and I'm wary of breaking
clients.
If you call #communicate on a process with no open pipes, and the process exits before we enter the
catching_sigchld
block, we would deadlock forever waiting on a SIGCHLD that would never arrive.Arguably calling
#communicate
on a process with no open pipes should be an error, but it's arguably useful as a synonym for#wait
if you don't know whether or not there's output, and I'm wary of breaking clients.r? @evan-stripe cc @andrew-stripe