From cdb981e337297da7046e4daa5c2e055bf6b8d95b Mon Sep 17 00:00:00 2001 From: Evan Martin Date: Sat, 25 Jun 2011 13:16:43 -0700 Subject: Fix for 'pipe has ended' errors on Win32 distributed builds Patch from John Birtley. --- src/subprocess-win32.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/subprocess-win32.cc b/src/subprocess-win32.cc index 2d5c1f0..9fbe03f 100644 --- a/src/subprocess-win32.cc +++ b/src/subprocess-win32.cc @@ -137,6 +137,11 @@ void Subprocess::OnPipeReady() { memset(&overlapped_, 0, sizeof(overlapped_)); if (!::ReadFile(pipe_, overlapped_buf_, sizeof(overlapped_buf_), &bytes, &overlapped_)) { + if (GetLastError() == ERROR_BROKEN_PIPE) { + CloseHandle(pipe_); + pipe_ = NULL; + return; + } if (GetLastError() != ERROR_IO_PENDING) Win32Fatal("ReadFile"); } -- cgit v0.12