diff options
author | Igor Sysoev <igor@sysoev.ru> | 2006-12-06 14:25:20 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2006-12-06 14:25:20 +0000 |
commit | c3d106a9bcf8d498138a2138a6fba447fb0532bc (patch) | |
tree | 3f9d0e02f8d447a4a7eca6b8a14964642107413b | |
parent | a19ed3eddd136a51a06e344f3f677c0e31c1a284 (diff) | |
download | nginx-c3d106a9bcf8d498138a2138a6fba447fb0532bc.tar.gz nginx-c3d106a9bcf8d498138a2138a6fba447fb0532bc.zip |
slot number must be incremented once per second only,
ngx_time_update() set msec in an wrong slot
-rw-r--r-- | src/core/ngx_times.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/core/ngx_times.c b/src/core/ngx_times.c index 88a9e98c9..f6e618a65 100644 --- a/src/core/ngx_times.c +++ b/src/core/ngx_times.c @@ -70,12 +70,6 @@ ngx_time_update(time_t sec, ngx_uint_t msec) return; } - if (slot == NGX_TIME_SLOTS) { - slot = 0; - } else { - slot++; - } - if (sec == 0) { ngx_gettimeofday(&tv); @@ -87,14 +81,22 @@ ngx_time_update(time_t sec, ngx_uint_t msec) tp = &cached_time[slot]; - tp->msec = msec; - if (tp->sec == sec) { + tp->msec = msec; ngx_unlock(&ngx_time_lock); return; } + if (slot == NGX_TIME_SLOTS) { + slot = 0; + } else { + slot++; + } + + tp = &cached_time[slot]; + tp->sec = sec; + tp->msec = msec; ngx_gmtime(sec, &gmt); |