diff options
author | Christopher Faylor <me@cgf.cx> | 2011-12-04 18:32:00 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-12-04 18:32:00 +0000 |
commit | 79e59d522afe5692c09ab21eade08947eca3ec19 (patch) | |
tree | cd44280ba1c10616a5bb8d19ed01f2681d75045c /winsup/cygwin/fhandler_serial.cc | |
parent | 4510afa90d42eec08a2ec91f4203ed126ab998c8 (diff) | |
download | cygnal-79e59d522afe5692c09ab21eade08947eca3ec19.tar.gz cygnal-79e59d522afe5692c09ab21eade08947eca3ec19.tar.bz2 cygnal-79e59d522afe5692c09ab21eade08947eca3ec19.zip |
* sigproc.cc (cygWFMO): Don't assume that cancellable event is always
available.
* fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::waitforspace): Use cygWFMO
instead of WaitForMultipleObjects.
(fhandler_dev_dsp::Audio_in::waitfordata): Ditto.
* fhandler_fifo.cc (fhandler_fifo::wait): Ditto.
* fhandler_serial.cc (fhandler_serial::raw_read): Ditto.
(fhandler_serial::raw_write): Ditto.
* fhandler_tty.cc (fhandler_pty_slave::read): Ditto.
* select.cc (cygwin_select): Ditto for degenerate case.
Diffstat (limited to 'winsup/cygwin/fhandler_serial.cc')
-rw-r--r-- | winsup/cygwin/fhandler_serial.cc | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/winsup/cygwin/fhandler_serial.cc b/winsup/cygwin/fhandler_serial.cc index 90494b8e9..1503cdc75 100644 --- a/winsup/cygwin/fhandler_serial.cc +++ b/winsup/cygwin/fhandler_serial.cc @@ -94,12 +94,9 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen) } else { - HANDLE w4[3] = { io_status.hEvent, signal_arrived, - pthread::get_cancel_event () }; - DWORD cnt = w4[2] ? 3 : 2; overlapped_armed = 1; restart: - switch (WaitForMultipleObjects (cnt, w4, FALSE, INFINITE)) + switch (cygWFMO (1, INFINITE, io_status.hEvent)) { case WAIT_OBJECT_0: if (!GetOverlappedResult (get_handle (), &io_status, &n, @@ -205,11 +202,8 @@ fhandler_serial::raw_write (const void *ptr, size_t len) if (!is_nonblocking ()) { - HANDLE w4[3] = { write_status.hEvent, signal_arrived, - pthread::get_cancel_event () }; - DWORD cnt = w4[2] ? 3 : 2; restart: - switch (WaitForMultipleObjects (cnt, w4, FALSE, INFINITE)) + switch (cygWFMO (1, INFINITE, write_status.hEvent)) { case WAIT_OBJECT_0: break; |