* fhandler.cc (fhandler_overlapped::wait_overlapped): Make sure that I/O is

cancelled on signal.
This commit is contained in:
Christopher Faylor 2011-05-29 15:30:27 +00:00
parent a4fddeb9f6
commit 57b670586c
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2011-05-29 Christopher Faylor <me.cygwin2011@cgf.cx>
* fhandler.cc (fhandler_overlapped::wait_overlapped): Make sure that
I/O is cancelled on signal.
2011-05-28 Ryan Johnson <ryan.johnson@cs.utoronto.ca>
* dll_init.cc (dll_list::alloc): Initialize dll::image_size.

View File

@ -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;
}