From d4e42ceb96b590f214b16442dc73f0c05db41e09 Mon Sep 17 00:00:00 2001 From: Takashi Yano Date: Wed, 3 Nov 2021 15:14:42 +0900 Subject: [PATCH] Cygwin: console: Prevent the exec'ed bash from exiting by Ctrl-C. - 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;