- 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).
---
 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;
-- 
2.30.0

Reply via email to