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.
diff --git a/src/os_win32.c b/src/os_win32.c
index 1adaaed..f325935 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -8335,7 +8335,7 @@
* 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 @@
{
BOOL ret;
- timeout_flag = &timeout_flags[flag_idx];
+ timeout_flag = &timeout_flags[timeout_flag_idx];
stop_timeout();
ret = CreateTimerQueueTimer(
@@ -8395,7 +8395,7 @@
}
else
{
- flag_idx = (flag_idx + 1) % 2;
+ timeout_flag_idx = (timeout_flag_idx + 1) % 2;
timer_active = TRUE;
*timeout_flag = FALSE;
}