summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_serial.cc2
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index d0f613d21..56e644394 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2012-05-25 Corinna Vinschen <corinna@vinschen.de>
+ * fhandler_serial.cc (fhandler_serial::raw_read): Check for
+ ERROR_OPERATION_ABORTED rather than ERROR_IO_INCOMPLETE after CancelIo.
+
+2012-05-25 Corinna Vinschen <corinna@vinschen.de>
+
* fhandler_serial.cc (fhandler_serial::raw_read): Just call ReadFile
directly in case of non-blocking I/O and handle result gracefully.
diff --git a/winsup/cygwin/fhandler_serial.cc b/winsup/cygwin/fhandler_serial.cc
index c58d0418c..033498742 100644
--- a/winsup/cygwin/fhandler_serial.cc
+++ b/winsup/cygwin/fhandler_serial.cc
@@ -128,7 +128,7 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
CancelIo (get_handle ());
if (GetOverlappedResult (get_handle (), &io_status, &n, FALSE))
tot = n;
- else if (GetLastError () != ERROR_IO_INCOMPLETE)
+ else if (GetLastError () != ERROR_OPERATION_ABORTED)
goto err;
if (tot == 0)
{