diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_serial.cc | 2 |
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) { |