[newlib-cygwin] Cygwin: ctrl_c_handler: Use 64 bit timer
Corinna Vinschen
corinna@sourceware.org
Sun Mar 24 21:13:00 GMT 2019
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=5737045c00db0cf9462b556bf56fbfa15c9ba90c
commit 5737045c00db0cf9462b556bf56fbfa15c9ba90c
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Sun Mar 24 22:13:00 2019 +0100
Cygwin: ctrl_c_handler: Use 64 bit timer
Just don't use GetTickCount for obvious reasons
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/exceptions.cc | 6 +++---
winsup/cygwin/tty.h | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 491eedb..da4348f 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -1134,7 +1134,7 @@ ctrl_c_handler (DWORD type)
handled *by* the process group leader. */
if (t && (!have_execed || have_execed_cygwin)
&& t->getpgid () == myself->pid &&
- (GetTickCount () - t->last_ctrl_c) >= MIN_CTRL_C_SLOP)
+ (GetTickCount64 () - t->last_ctrl_c) >= MIN_CTRL_C_SLOP)
/* Otherwise we just send a SIGINT to the process group and return TRUE
(to indicate that we have handled the signal). At this point, type
should be a CTRL_C_EVENT or CTRL_BREAK_EVENT. */
@@ -1144,9 +1144,9 @@ ctrl_c_handler (DWORD type)
if (type == CTRL_BREAK_EVENT
&& t->ti.c_cc[VINTR] == 3 && t->ti.c_cc[VQUIT] == 3)
sig = SIGQUIT;
- t->last_ctrl_c = GetTickCount ();
+ t->last_ctrl_c = GetTickCount64 ();
t->kill_pgrp (sig);
- t->last_ctrl_c = GetTickCount ();
+ t->last_ctrl_c = GetTickCount64 ();
return TRUE;
}
diff --git a/winsup/cygwin/tty.h b/winsup/cygwin/tty.h
index 362ae74..9aee43b 100644
--- a/winsup/cygwin/tty.h
+++ b/winsup/cygwin/tty.h
@@ -42,7 +42,7 @@ public:
pid_t pgid;
bool output_stopped; /* FIXME: Maybe do this with a mutex someday? */
fh_devices ntty;
- DWORD last_ctrl_c; /* tick count of last ctrl-c */
+ ULONGLONG last_ctrl_c; /* tick count of last ctrl-c */
bool is_console;
IMPLEMENT_STATUS_FLAG (bool, initialized)
More information about the Cygwin-cvs
mailing list