Re: [PATCH 1/1] Cygwin: console: Fix the condition to interrupt select() by SIGWINCH

2019-08-15 Thread Corinna Vinschen
On Aug 15 14:03, Takashi Yano wrote:
> - Add code so that select() is not interrupted by SIGWINCH if it is
>   ignored (SIG_IGN or SIG_DFL).
> ---
>  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 9cf892801..4e9256b9f 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, , 1, _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 ();
> -- 
> 2.21.0

Pushed.


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer


signature.asc
Description: PGP signature


Re: [PATCH 1/1] Cygwin: console: Fix the condition to interrupt select() by SIGWINCH

2019-08-15 Thread Corinna Vinschen
On Aug 15 14:03, Takashi Yano wrote:
> - Add code so that select() is not interrupted by SIGWINCH if it is
>   ignored (SIG_IGN or SIG_DFL).
> ---
>  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 9cf892801..4e9256b9f 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, , 1, _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 ();
> -- 
> 2.21.0

Do you think a similar workaround would help for the signalfd
problem?


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer


signature.asc
Description: PGP signature