comparison src/event/modules/ngx_iocp_module.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 0b592a68aade
children
comparison
equal deleted inserted replaced
3586:2d21e02fc01d 3587:e1409e56ba7c
161 "THREAD %p %p", &msec, data); 161 "THREAD %p %p", &msec, data);
162 162
163 for ( ;; ) { 163 for ( ;; ) {
164 Sleep(timer); 164 Sleep(timer);
165 165
166 ngx_time_update(0, 0); 166 ngx_time_update();
167 #if 1 167 #if 1
168 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, ngx_cycle->log, 0, "timer"); 168 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, ngx_cycle->log, 0, "timer");
169 #endif 169 #endif
170 } 170 }
171 171
256 } 256 }
257 257
258 delta = ngx_current_msec; 258 delta = ngx_current_msec;
259 259
260 if (flags & NGX_UPDATE_TIME) { 260 if (flags & NGX_UPDATE_TIME) {
261 ngx_time_update(0, 0); 261 ngx_time_update();
262 } 262 }
263 263
264 ngx_log_debug4(NGX_LOG_DEBUG_EVENT, cycle->log, 0, 264 ngx_log_debug4(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
265 "iocp: %d b:%d k:%d ov:%p", rc, bytes, key, ovlp); 265 "iocp: %d b:%d k:%d ov:%p", rc, bytes, key, ovlp);
266 266