Mercurial > hg > nginx
comparison src/http/ngx_http_file_cache.c @ 3587:e1409e56ba7c stable-0.7
merge r3473, r3474, r3385, r3386, r3537:
signal processing stability:
*) use sys_errlist[] in signal handler instead
of non Async-Signal-Safe strerror_r()
*) do not update time in the timer signal handler,
since localtime_r() is not Async-Signal-Safe function
*) use previously cached GMT offset value to update time from a signal handler
*) change ngx_time_update() interface since there are no notification methods
those return time
*) introduce ngx_time_sigsafe_update() to update the error log time only
*) change ngx_time_update() interface
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 07 Jun 2010 10:35:08 +0000 |
parents | 3354dfba9da4 |
children | 0d8b8c84bab7 |
comparison
equal
deleted
inserted
replaced
3586:2d21e02fc01d | 3587:e1409e56ba7c |
---|---|
1126 { | 1126 { |
1127 ngx_msec_t elapsed; | 1127 ngx_msec_t elapsed; |
1128 | 1128 |
1129 if (cache->files++ > 100) { | 1129 if (cache->files++ > 100) { |
1130 | 1130 |
1131 ngx_time_update(0, 0); | 1131 ngx_time_update(); |
1132 | 1132 |
1133 elapsed = ngx_abs((ngx_msec_int_t) (ngx_current_msec - cache->last)); | 1133 elapsed = ngx_abs((ngx_msec_int_t) (ngx_current_msec - cache->last)); |
1134 | 1134 |
1135 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, ngx_cycle->log, 0, | 1135 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, ngx_cycle->log, 0, |
1136 "http file cache manager time: %M", elapsed); | 1136 "http file cache manager time: %M", elapsed); |
1143 * therefore sleep 200ms | 1143 * therefore sleep 200ms |
1144 */ | 1144 */ |
1145 | 1145 |
1146 ngx_msleep(200); | 1146 ngx_msleep(200); |
1147 | 1147 |
1148 ngx_time_update(0, 0); | 1148 ngx_time_update(); |
1149 } | 1149 } |
1150 | 1150 |
1151 cache->last = ngx_current_msec; | 1151 cache->last = ngx_current_msec; |
1152 cache->files = 0; | 1152 cache->files = 0; |
1153 } | 1153 } |