Open
Description
After MSBuild starts a child/worker process, it tries to handshake with the newly-created node by writing to an IPC pipe and waiting for the handshake response.
If process creation fails, an error is propagated upward and MSBuild doesn't hang. If, however, process creation succeeds but the child quickly terminates instead of waiting for the handshake, the indefinite blocking read on handshake response turns into a mysterious MSBuild hang.
We should either have a timeout for handshake success, or at the very least fail early in WaitForConnectionFromProcess
if the nodeProcessId
doesn't belong to a running process.