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 /agent/cache.c | |
| 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]>
Diffstat (limited to 'agent/cache.c')
| -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; |
