FIXED: possible lockup if one of send/receive piped subprocesses fails