diff options
author | Christopher Faylor <me@cgf.cx> | 2011-05-29 19:30:27 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-05-29 19:30:27 +0400 |
commit | 57b670586c611b70bf6043f39d9a650885b3c4ae (patch) | |
tree | 6b44a7ead2716362cf1f336d2c15fccdbc1dddd8 /winsup/cygwin/fhandler.cc | |
parent | a4fddeb9f6e0915eb8c69968862a5b37a43d48f9 (diff) |
* fhandler.cc (fhandler_overlapped::wait_overlapped): Make sure that I/O is
cancelled on signal.
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r-- | winsup/cygwin/fhandler.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index ea0ca31b9..deb1ade16 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -1873,7 +1873,7 @@ fhandler_base_overlapped::wait_overlapped (bool inres, bool writing, DWORD *byte } } - if (res != overlapped_error) + if (res == overlapped_success) /* nothing to do */; else if (err == ERROR_HANDLE_EOF || err == ERROR_BROKEN_PIPE) { @@ -1887,7 +1887,7 @@ fhandler_base_overlapped::wait_overlapped (bool inres, bool writing, DWORD *byte HANDLE h = writing ? get_output_handle () : get_handle (); CancelIo (h); ResetEvent (get_overlapped ()); - if (err) + if (res == overlapped_error) __seterrno_from_win_error (err); *bytes = (DWORD) -1; } |