diff options
author | Christopher Faylor <me@cgf.cx> | 2000-03-12 07:44:37 +0300 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-03-12 07:44:37 +0300 |
commit | 774ea162116fcb08278c5efbe287848f5b5dd431 (patch) | |
tree | a124392461f0c8f99c127a7c5b6d880e85d145fd /winsup/cygwin/fhandler_console.cc | |
parent | 1e8b88023ceb35d74f74640bb5109f7b2a5f34e5 (diff) |
* fhandler_console.cc (fhandler_console::read): Don't even think about breaking
on interrupt if executing in a "cygwin" thread.
* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Streamline,
simplify code.
* sigproc.cc (sig_send): Remove debugging statement.
Diffstat (limited to 'winsup/cygwin/fhandler_console.cc')
-rw-r--r-- | winsup/cygwin/fhandler_console.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc index e95cc0a9a..54d8da618 100644 --- a/winsup/cygwin/fhandler_console.cc +++ b/winsup/cygwin/fhandler_console.cc @@ -137,8 +137,13 @@ fhandler_console::read (void *pv, size_t buflen) DWORD nwait; w4[0] = h; - nwait = 2; - w4[1] = signal_arrived; + if (iscygthread ()) + nwait = 1; + else + { + w4[1] = signal_arrived; + nwait = 2; + } for (;;) { @@ -151,8 +156,7 @@ fhandler_console::read (void *pv, size_t buflen) case WAIT_OBJECT_0: break; case WAIT_OBJECT_0 + 1: - if (!iscygthread ()) - set_sig_errno (EINTR); + set_sig_errno (EINTR); return -1; default: __seterrno (); |