https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=6ab2d284e54384cc6e7dc13eed1eddd12bd77879
commit 6ab2d284e54384cc6e7dc13eed1eddd12bd77879 Author: Takashi Yano via Cygwin-patches <[email protected]> Date: Fri Jan 29 12:45:44 2021 +0900 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). Diff: --- winsup/cygwin/fhandler_console.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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;
