[PATCH] Cygwin: console: Prevent the exec'ed bash from exiting by Ctrl-C.

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Nov 3 14:15:35 GMT 2021


On Nov  3 15:14, Takashi Yano wrote:
> - Currently, bash occasionally exits by Ctrl-C with the following
>   scenario.
>     1) Start bash in the command prompt.
>     2) Run 'exec bash'.
>     3) Press Ctrl-C several times.
>   This patch fixes the issue.
> ---
>  winsup/cygwin/sigproc.cc | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
> index 8e70a9329..97211edcf 100644
> --- a/winsup/cygwin/sigproc.cc
> +++ b/winsup/cygwin/sigproc.cc
> @@ -594,6 +594,14 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
>        p = myself;
>      }
>  
> +  /* If myself is the stub process, send signal to the child process
> +     rather than myself. The fact that myself->dwProcessId is not equal
> +     to the current process id indicates myself is the stub process. */
> +  if (its_me && myself->dwProcessId != GetCurrentProcessId ())
> +    {
> +      wait_for_completion = false;
> +      its_me = false;
> +    }
>  
>    if (its_me)
>      sendsig = my_sendsig;
> -- 
> 2.33.0

Pushed.


Thanks,
Corinna


More information about the Cygwin-patches mailing list