https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=3a929f27f8c3c870eb61518c9c12bf1834f84558
commit 3a929f27f8c3c870eb61518c9c12bf1834f84558 Author: Takashi Yano <takashi.y...@nifty.ne.jp> Date: Thu Aug 15 14:03:00 2019 +0900 Cygwin: console: Fix the condition to interrupt select() by SIGWINCH - Add code so that select() is not interrupted by SIGWINCH if it is ignored (SIG_IGN or SIG_DFL). Diff: --- winsup/cygwin/select.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc index 9cf8928..4e9256b 100644 --- a/winsup/cygwin/select.cc +++ b/winsup/cygwin/select.cc @@ -1045,7 +1045,9 @@ peek_console (select_record *me, bool) else if (!PeekConsoleInputW (h, &irec, 1, &events_read) || !events_read) break; fh->acquire_input_mutex (INFINITE); - if (fhandler_console::input_winch == fh->process_input_message ()) + if (fhandler_console::input_winch == fh->process_input_message () + && global_sigs[SIGWINCH].sa_handler != SIG_IGN + && global_sigs[SIGWINCH].sa_handler != SIG_DFL) { set_sig_errno (EINTR); fh->release_input_mutex ();