From 25197b32291a35b623077c7f413003081038f4a8 Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Fri, 3 Aug 2012 09:10:39 +0000 Subject: [PATCH] Fixed possible use of old cached times if runtime went backwards. If ngx_time_sigsafe_update() updated only ngx_cached_err_log_time, and then clock was adjusted backwards, the cached_time[slot].sec might accidentally match current seconds on next ngx_time_update() call, resulting in various cached times not being updated. Fix is to clear the cached_time[slot].sec to explicitly mark cached times are stale and need updating. --- src/core/ngx_times.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/ngx_times.c b/src/core/ngx_times.c index ed1bf64bc..77490faf0 100644 --- a/src/core/ngx_times.c +++ b/src/core/ngx_times.c @@ -211,6 +211,10 @@ ngx_time_sigsafe_update(void) slot++; } + tp = &cached_time[slot]; + + tp->sec = 0; + ngx_gmtime(sec + cached_gmtoff * 60, &tm); p = &cached_err_log_time[slot][0]; -- 2.47.3