From: Maxim Dounin Date: Fri, 3 Aug 2012 09:10:39 +0000 (+0000) Subject: Fixed possible use of old cached times if runtime went backwards. X-Git-Tag: release-1.3.5~18 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=25197b32291a35b623077c7f413003081038f4a8;p=nginx.git 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. --- 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];