diff src/os/win32/ngx_process_cycle.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
line wrap: on
line diff
--- a/src/os/win32/ngx_process_cycle.c
+++ b/src/os/win32/ngx_process_cycle.c
@@ -140,7 +140,7 @@ ngx_master_process_cycle(ngx_cycle_t *cy
         ev = WaitForMultipleObjects(nev, events, 0, timeout);
 
         err = ngx_errno;
-        ngx_time_update(0, 0);
+        ngx_time_update();
 
         ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, 0,
                        "master WaitForMultipleObjects: %ul", ev);
@@ -679,7 +679,7 @@ ngx_worker_process_cycle(ngx_cycle_t *cy
         ev = WaitForMultipleObjects(3, events, 0, INFINITE);
 
         err = ngx_errno;
-        ngx_time_update(0, 0);
+        ngx_time_update();
 
         ngx_log_debug1(NGX_LOG_DEBUG_CORE, log, 0,
                        "worker WaitForMultipleObjects: %ul", ev);
@@ -738,7 +738,7 @@ ngx_worker_process_cycle(ngx_cycle_t *cy
         ev = WaitForMultipleObjects(nev, events, 0, INFINITE);
 
         err = ngx_errno;
-        ngx_time_update(0, 0);
+        ngx_time_update();
 
         ngx_log_debug1(NGX_LOG_DEBUG_CORE, log, 0,
                        "worker exit WaitForMultipleObjects: %ul", ev);
@@ -907,7 +907,7 @@ ngx_cache_manager_thread(void *data)
         ev = WaitForMultipleObjects(2, events, 0, INFINITE);
 
         err = ngx_errno;
-        ngx_time_update(0, 0);
+        ngx_time_update();
 
         ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, 0,
                        "cache manager WaitForMultipleObjects: %ul", ev);
@@ -968,7 +968,7 @@ ngx_cache_manager_process_handler(void)
 
             next = (n <= next) ? n : next;
 
-            ngx_time_update(0, 0);
+            ngx_time_update();
         }
     }
 
@@ -980,7 +980,7 @@ ngx_cache_manager_process_handler(void)
 
     if (ev != WAIT_TIMEOUT) {
 
-        ngx_time_update(0, 0);
+        ngx_time_update();
 
         ngx_log_debug1(NGX_LOG_DEBUG_CORE, ngx_cycle->log, 0,
                        "cache manager WaitForSingleObject: %ul", ev);
@@ -1008,7 +1008,7 @@ ngx_cache_loader_thread(void *data)
 
         if (path[i]->loader) {
             path[i]->loader(path[i]->data);
-            ngx_time_update(0, 0);
+            ngx_time_update();
         }
     }