comparison src/core/ngx_times.c @ 4848:a0f1d53546d4 stable-1.2

Merge of r4778, r4782, r4783, r4824, r4830, r4834: minor fixes. *) Reorder checks in ngx_shared_memory_add() for more consistent error messages. *) Added "const" to ngx_memcpy() with NGX_MEMCPY_LIMIT defined. This fixes warning produced during compilation of the ngx_http_geoip_module due to const qualifier being discarded. *) 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. *) Radix tree preallocation fix. The preallocation size was calculated incorrectly and was always 8 due to sizeof(ngx_radix_tree_t) accidentally used instead of sizeof(ngx_radix_node_t). *) Fixed overflow if ngx_slab_alloc() is called with very big "size" argument. *) Write filter: replaced unneeded loop with one to free chains. Noted by Gabor Lekeny.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 24 Sep 2012 18:34:04 +0000
parents 67653855682e
children 777202558122
comparison
equal deleted inserted replaced
4847:0275f587e00b 4848:a0f1d53546d4
208 if (slot == NGX_TIME_SLOTS - 1) { 208 if (slot == NGX_TIME_SLOTS - 1) {
209 slot = 0; 209 slot = 0;
210 } else { 210 } else {
211 slot++; 211 slot++;
212 } 212 }
213
214 tp = &cached_time[slot];
215
216 tp->sec = 0;
213 217
214 ngx_gmtime(sec + cached_gmtoff * 60, &tm); 218 ngx_gmtime(sec + cached_gmtoff * 60, &tm);
215 219
216 p = &cached_err_log_time[slot][0]; 220 p = &cached_err_log_time[slot][0];
217 221