diff options
author | NIIBE Yutaka <[email protected]> | 2023-09-01 02:28:44 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2023-09-01 02:28:44 +0000 |
commit | 5e47d5edd8f854d4905985105991603f106ed16b (patch) | |
tree | d713215f989831aa531b740564c197277db1b45a | |
parent | agent: Fix the previous commit. (diff) | |
download | gnupg-5e47d5edd8f854d4905985105991603f106ed16b.tar.gz gnupg-5e47d5edd8f854d4905985105991603f106ed16b.zip |
agent: Fix timer list management.
* agent/cache.c (insert_to_timer_list): Update TV_SEC of the top entry
when inserted.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | agent/cache.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/agent/cache.c b/agent/cache.c index 16a21bd77..0525e3b09 100644 --- a/agent/cache.c +++ b/agent/cache.c @@ -226,8 +226,12 @@ insert_to_timer_list (struct timespec *ts, ITEM entry) if (!the_timer_list || ts->tv_sec >= entry->t.tv_sec) { - if (the_timer_list && ts->tv_nsec) - the_timer_list->t.tv_sec++; + if (the_timer_list) + { + the_timer_list->t.tv_sec += ts->tv_sec - entry->t.tv_sec; + if (ts->tv_nsec) + the_timer_list->t.tv_sec++; + } ts->tv_sec = entry->t.tv_sec; ts->tv_nsec = 0; |