[newlib-cygwin] Cygwin: console: Fix yet another bug on input when signalled.

Corinna Vinschen corinna@sourceware.org
Tue Nov 2 14:47:20 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=2221bebd718d2eb20a8cf352a15b15599067573b

commit 2221bebd718d2eb20a8cf352a15b15599067573b
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
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++)
     {


More information about the Cygwin-cvs mailing list