comparison src/core/ngx_times.c @ 262:e0b1d0a6c629 NGINX_0_5_1

nginx 0.5.1 *) Bugfix: the "post_action" directive might not run after a unsuccessful completion of a request. *) Workaround: for Eudora for Mac; bug appeared in 0.4.11. Thanks to Bron Gondwana. *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then the message "no port in upstream" was issued; bug appeared in 0.5.0. *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the same servers but different ports, then these directives uses the first described port; bug appeared in 0.5.0. *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets, then these directives used first described socket; bug appeared in 0.5.0. *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the last line in the password file and there was no the carriage return, the line feed, or the ":" symbol after the password. *) Bugfix: the $upstream_response_time variable might be equal to "0.000", although response time was more than 1 millisecond.
author Igor Sysoev <http://sysoev.ru>
date Mon, 11 Dec 2006 00:00:00 +0300
parents 408f195b3482
children 6eb1e38f0f1f
comparison
equal deleted inserted replaced
261:e6ae240d5952 262:e0b1d0a6c629
68 68
69 if (!ngx_trylock(&ngx_time_lock)) { 69 if (!ngx_trylock(&ngx_time_lock)) {
70 return; 70 return;
71 } 71 }
72 72
73 if (sec == 0) {
74 ngx_gettimeofday(&tv);
75
76 sec = tv.tv_sec;
77 msec = tv.tv_usec / 1000;
78 }
79
80 ngx_current_msec = (ngx_msec_t) sec * 1000 + msec;
81
82 tp = &cached_time[slot];
83
84 if (tp->sec == sec) {
85 tp->msec = msec;
86 ngx_unlock(&ngx_time_lock);
87 return;
88 }
89
73 if (slot == NGX_TIME_SLOTS) { 90 if (slot == NGX_TIME_SLOTS) {
74 slot = 0; 91 slot = 0;
75 } else { 92 } else {
76 slot++; 93 slot++;
77 } 94 }
78 95
79 if (sec == 0) {
80 ngx_gettimeofday(&tv);
81
82 sec = tv.tv_sec;
83 msec = tv.tv_usec / 1000;
84 }
85
86 ngx_current_msec = (ngx_msec_t) sec * 1000 + msec;
87
88 tp = &cached_time[slot]; 96 tp = &cached_time[slot];
89 97
98 tp->sec = sec;
90 tp->msec = msec; 99 tp->msec = msec;
91
92 if (tp->sec == sec) {
93 ngx_unlock(&ngx_time_lock);
94 return;
95 }
96
97 tp->sec = sec;
98 100
99 ngx_gmtime(sec, &gmt); 101 ngx_gmtime(sec, &gmt);
100 102
101 103
102 p0 = cached_http_time[slot]; 104 p0 = cached_http_time[slot];