Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2006-12-06 17:25:20 +0300
committerIgor Sysoev <igor@sysoev.ru>2006-12-06 17:25:20 +0300
commitc3d106a9bcf8d498138a2138a6fba447fb0532bc (patch)
tree3f9d0e02f8d447a4a7eca6b8a14964642107413b /src/core/ngx_times.c
parenta19ed3eddd136a51a06e344f3f677c0e31c1a284 (diff)
slot number must be incremented once per second only,
ngx_time_update() set msec in an wrong slot
Diffstat (limited to 'src/core/ngx_times.c')
-rw-r--r--src/core/ngx_times.c18
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);