https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=ea64a781c77225f07e70e781a889b7d471bc7eec
commit ea64a781c77225f07e70e781a889b7d471bc7eec Author: Takashi Yano <[email protected]> Date: Tue Nov 2 17:09:40 2021 +0900 Cygwin: console: Fix yet another bug on input when signalled. - Currently, read() returns EINTR due to a bug if signal handler is SIG_DFL and the process is suspended by Ctrl-Z and restarted. This patch fixes the issue. Diff: --- winsup/cygwin/fhandler_termios.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/fhandler_termios.cc b/winsup/cygwin/fhandler_termios.cc index 012ecb356..b72f01f22 100644 --- a/winsup/cygwin/fhandler_termios.cc +++ b/winsup/cygwin/fhandler_termios.cc @@ -133,7 +133,8 @@ tty_min::kill_pgrp (int sig) siginfo_t si = {0}; si.si_signo = sig; si.si_code = SI_KERNEL; - last_sig = sig; + if (sig > 0 && sig < _NSIG) + last_sig = sig; for (unsigned i = 0; i < pids.npids; i++) {
