[newlib-cygwin] Cygwin: console: Prevent the exec'ed bash from exiting by Ctrl-C.
Corinna Vinschen
corinna@sourceware.org
Wed Nov 3 14:12:52 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=d4e42ceb96b590f214b16442dc73f0c05db41e09
commit d4e42ceb96b590f214b16442dc73f0c05db41e09
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
Date: Wed Nov 3 15:14:42 2021 +0900
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.
Diff:
---
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;
More information about the Cygwin-cvs
mailing list