[PATCH] Cygwin: pty: Use GetTickCount64() instead of GetTickCount().

Takashi Yano takashi.yano@nifty.ne.jp
Fri Dec 9 01:42:35 GMT 2022


Suggested-by: Corinna Vinschen <corinna@vinschen.de>
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
---
 winsup/cygwin/fhandler/pty.cc      |  2 +-
 winsup/cygwin/local_includes/tty.h |  2 +-
 winsup/cygwin/tty.cc               | 10 +++++-----
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/winsup/cygwin/fhandler/pty.cc b/winsup/cygwin/fhandler/pty.cc
index e7106daba..c9b05e3d7 100644
--- a/winsup/cygwin/fhandler/pty.cc
+++ b/winsup/cygwin/fhandler/pty.cc
@@ -2691,7 +2691,7 @@ fhandler_pty_master::pty_master_fwd_thread (const master_fwd_thread_param_t *p)
   termios_printf ("Started.");
   for (;;)
     {
-      p->ttyp->fwd_last_time = GetTickCount ();
+      p->ttyp->fwd_last_time = GetTickCount64 ();
       DWORD n;
       p->ttyp->fwd_not_empty =
 	::bytes_available (n, p->from_slave_nat) && n;
diff --git a/winsup/cygwin/local_includes/tty.h b/winsup/cygwin/local_includes/tty.h
index 3d0ea0c68..cd1d6ecaa 100644
--- a/winsup/cygwin/local_includes/tty.h
+++ b/winsup/cygwin/local_includes/tty.h
@@ -119,7 +119,7 @@ private:
   bool switch_to_nat_pipe;
   DWORD nat_pipe_owner_pid;
   UINT term_code_page;
-  DWORD fwd_last_time;
+  ULONGLONG fwd_last_time;
   bool fwd_not_empty;
   HANDLE h_pcon_write_pipe;
   HANDLE h_pcon_condrv_reference;
diff --git a/winsup/cygwin/tty.cc b/winsup/cygwin/tty.cc
index a862a444e..6ec8927cb 100644
--- a/winsup/cygwin/tty.cc
+++ b/winsup/cygwin/tty.cc
@@ -319,13 +319,13 @@ tty::wait_fwd ()
      16-32 msec even if it already has data to transfer.
      If the time without transfer exceeds 32 msec, the
      forwarding is supposed to be finished. fwd_last_time
-     is reset to GetTickCount() in pty master forwarding
+     is reset to GetTickCount64() in pty master forwarding
      thread when the last data is transfered. */
-  const int sleep_in_nat_pipe = 16;
-  const int time_to_wait = sleep_in_nat_pipe * 2 + 1/* margine */;
-  int elapsed;
+  const ULONGLONG sleep_in_nat_pipe = 16;
+  const ULONGLONG time_to_wait = sleep_in_nat_pipe * 2 + 1/* margine */;
+  ULONGLONG elapsed;
   while (fwd_not_empty
-	 || (elapsed = GetTickCount () - fwd_last_time) < time_to_wait)
+	 || (elapsed = GetTickCount64 () - fwd_last_time) < time_to_wait)
     {
       int tw = fwd_not_empty ? 10 : (time_to_wait - elapsed);
       cygwait (tw);
-- 
2.38.1



More information about the Cygwin-patches mailing list