[newlib-cygwin] Cygwin: console: Align the behaviour against signal with pty.

Corinna Vinschen corinna@sourceware.org
Mon Feb 1 10:01:28 GMT 2021


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

commit 6ab2d284e54384cc6e7dc13eed1eddd12bd77879
Author: Takashi Yano via Cygwin-patches <cygwin-patches@cygwin.com>
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;


More information about the Cygwin-cvs mailing list