summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Yano via Cygwin-patches <cygwin-patches@cygwin.com>2021-01-29 12:45:44 +0900
committerCorinna Vinschen <corinna@vinschen.de>2021-02-01 10:54:04 +0100
commit6ab2d284e54384cc6e7dc13eed1eddd12bd77879 (patch)
tree513663d84c7b3f55afa72da6d20cd2f8f38ceaa1
parentf186f61d60b342c8167e652073bdc6e3f704a90a (diff)
downloadcygnal-6ab2d284e54384cc6e7dc13eed1eddd12bd77879.tar.gz
cygnal-6ab2d284e54384cc6e7dc13eed1eddd12bd77879.tar.bz2
cygnal-6ab2d284e54384cc6e7dc13eed1eddd12bd77879.zip
Cygwin: console: Align the behaviour against signal with pty.
- Currently, read() returns -1 with EINTR if the process is suspended by Ctrl-Z and resumed by fg command, while pty continues to read. For example, xxd command stops with error "Interrupted system call" after Ctrl-Z and fg. This patch aligns the behaviour with pty (and Linux).
-rw-r--r--winsup/cygwin/fhandler_console.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index 0b404411e..3c0783575 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -587,7 +587,8 @@ wait_retry:
break;
case input_signalled: /* signalled */
release_input_mutex ();
- goto sig_exit;
+ /* The signal will be handled by cygwait() above. */
+ continue;
case input_winch:
release_input_mutex ();
continue;