summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r--winsup/cygwin/fhandler.cc4
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);
}