changeset 29220:d6f8b784d0f6 v8.2.5129

patch 8.2.5129: timeout handling is not optimal Commit: https://github.com/vim/vim/commit/1f30caff8b63beda75a5dcd15ffe3e9e818ed483 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jun 19 14:36:35 2022 +0100 patch 8.2.5129: timeout handling is not optimal Problem: Timeout handling is not optimal. Solution: Avoid setting timeout_flag twice. Adjust the pointer when stopping the regexp timeout. Adjust variable name.
author Bram Moolenaar <Bram@vim.org>
date Sun, 19 Jun 2022 15:45:02 +0200
parents aad416d6fb3f
children 6e82fb24a351
files src/os_unix.c src/os_win32.c src/regexp.c src/version.c
diffstat 4 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -8307,7 +8307,6 @@ start_timeout(long msec)
     // This is really the caller's responsibility, but let's make sure the
     // previous timer has been stopped.
     stop_timeout();
-    timeout_flag = FALSE;
 
     if (!timer_created)
     {
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -8335,7 +8335,7 @@ static int      timer_active = FALSE;
  * timeouts.
  */
 static int      timeout_flags[2];
-static int      flag_idx = 0;
+static int      timeout_flag_idx = 0;
 static int      *timeout_flag = &timeout_flags[0];
 
 
@@ -8383,7 +8383,7 @@ start_timeout(long msec)
 {
     BOOL ret;
 
-    timeout_flag = &timeout_flags[flag_idx];
+    timeout_flag = &timeout_flags[timeout_flag_idx];
 
     stop_timeout();
     ret = CreateTimerQueueTimer(
@@ -8395,7 +8395,7 @@ start_timeout(long msec)
     }
     else
     {
-	flag_idx = (flag_idx + 1) % 2;
+	timeout_flag_idx = (timeout_flag_idx + 1) % 2;
 	timer_active = TRUE;
 	*timeout_flag = FALSE;
     }
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -61,6 +61,7 @@ init_regexp_timeout(long msec)
 disable_regexp_timeout(void)
 {
     stop_timeout();
+    timeout_flag = &dummy_timeout_flag;
 }
 #endif
 
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    5129,
+/**/
     5128,
 /**/
     5127,