diff options
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r-- | winsup/cygwin/fhandler.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index 1cee133e6..4ea84974e 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -1883,13 +1883,15 @@ fhandler_base_overlapped::wait_overlapped (bool inres, bool writing, DWORD *byte debug_printf ("EOF"); *bytes = 0; res = overlapped_success; + if (writing && err == ERROR_BROKEN_PIPE) + raise (SIGPIPE); } else { debug_printf ("res %u, err %u", (unsigned) res, err); *bytes = (DWORD) -1; __seterrno_from_win_error (err); - if (writing && (err == ERROR_NO_DATA || err == ERROR_BROKEN_PIPE)) + if (writing && err == ERROR_NO_DATA) raise (SIGPIPE); } |