diff options
Diffstat (limited to 'winsup/cygwin/fhandler_pipe.cc')
-rw-r--r-- | winsup/cygwin/fhandler_pipe.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler_pipe.cc b/winsup/cygwin/fhandler_pipe.cc index 63e432160..724944336 100644 --- a/winsup/cygwin/fhandler_pipe.cc +++ b/winsup/cygwin/fhandler_pipe.cc @@ -393,7 +393,8 @@ fhandler_pipe::raw_read (void *ptr, size_t& len) } } - if (nbytes_now == 0 || status == STATUS_BUFFER_OVERFLOW) + if ((nbytes_now == 0 && !NT_SUCCESS (status)) + || status == STATUS_BUFFER_OVERFLOW) break; } ReleaseMutex (read_mtx); |