Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-05-29 19:30:27 +0400
committerChristopher Faylor <me@cgf.cx>2011-05-29 19:30:27 +0400
commit57b670586c611b70bf6043f39d9a650885b3c4ae (patch)
tree6b44a7ead2716362cf1f336d2c15fccdbc1dddd8 /winsup/cygwin/fhandler.cc
parenta4fddeb9f6e0915eb8c69968862a5b37a43d48f9 (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.cc4
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;
}