Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-11-25 22:53:52 +0300
committerChristopher Faylor <me@cgf.cx>2005-11-25 22:53:52 +0300
commit2cf13b63be7df50013b9a58f665bf1a29d311322 (patch)
tree9dfb99b7d3ca13252fa057fa54deb3b592a20561 /winsup/cygwin/exceptions.cc
parent24fb449f3732a7b06322a9cc6cf629bbe05bc564 (diff)
* heap.cc: Remove spurious getpagesize declaration.
* exceptions.cc (ctrl_c_handler): Distinguish CTRL-BREAK from CTRL-C in some cases.
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r--winsup/cygwin/exceptions.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 1bb3aeaae..098885108 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -923,8 +923,13 @@ ctrl_c_handler (DWORD type)
that we have handled the signal). At this point, type should be
a CTRL_C_EVENT or CTRL_BREAK_EVENT. */
{
+ int sig = SIGINT;
+ /* If intr and quit are both mapped to ^C, send SIGQUIT on ^BREAK */
+ if (type == CTRL_BREAK_EVENT
+ && t->ti.c_cc[VINTR] == 3 && t->ti.c_cc[VQUIT] == 3)
+ sig = SIGQUIT;
t->last_ctrl_c = GetTickCount ();
- killsys (-myself->pid, SIGINT);
+ killsys (-myself->pid, sig);
t->last_ctrl_c = GetTickCount ();
return TRUE;
}