Mercurial > hg > nginx
comparison src/os/win32/ngx_process_cycle.c @ 3474:d4c4cfdffe30
*) 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
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sat, 13 Mar 2010 18:08:07 +0000 |
parents | 5c43621c580a |
children | ab353d7dc182 |
comparison
equal
deleted
inserted
replaced
3473:0299cf5856fc | 3474:d4c4cfdffe30 |
---|---|
138 } | 138 } |
139 | 139 |
140 ev = WaitForMultipleObjects(nev, events, 0, timeout); | 140 ev = WaitForMultipleObjects(nev, events, 0, timeout); |
141 | 141 |
142 err = ngx_errno; | 142 err = ngx_errno; |
143 ngx_time_update(0, 0); | 143 ngx_time_update(0); |
144 | 144 |
145 ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, 0, | 145 ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, 0, |
146 "master WaitForMultipleObjects: %ul", ev); | 146 "master WaitForMultipleObjects: %ul", ev); |
147 | 147 |
148 if (ev == WAIT_OBJECT_0) { | 148 if (ev == WAIT_OBJECT_0) { |
677 | 677 |
678 for ( ;; ) { | 678 for ( ;; ) { |
679 ev = WaitForMultipleObjects(3, events, 0, INFINITE); | 679 ev = WaitForMultipleObjects(3, events, 0, INFINITE); |
680 | 680 |
681 err = ngx_errno; | 681 err = ngx_errno; |
682 ngx_time_update(0, 0); | 682 ngx_time_update(0); |
683 | 683 |
684 ngx_log_debug1(NGX_LOG_DEBUG_CORE, log, 0, | 684 ngx_log_debug1(NGX_LOG_DEBUG_CORE, log, 0, |
685 "worker WaitForMultipleObjects: %ul", ev); | 685 "worker WaitForMultipleObjects: %ul", ev); |
686 | 686 |
687 if (ev == WAIT_OBJECT_0) { | 687 if (ev == WAIT_OBJECT_0) { |
736 | 736 |
737 for ( ;; ) { | 737 for ( ;; ) { |
738 ev = WaitForMultipleObjects(nev, events, 0, INFINITE); | 738 ev = WaitForMultipleObjects(nev, events, 0, INFINITE); |
739 | 739 |
740 err = ngx_errno; | 740 err = ngx_errno; |
741 ngx_time_update(0, 0); | 741 ngx_time_update(0); |
742 | 742 |
743 ngx_log_debug1(NGX_LOG_DEBUG_CORE, log, 0, | 743 ngx_log_debug1(NGX_LOG_DEBUG_CORE, log, 0, |
744 "worker exit WaitForMultipleObjects: %ul", ev); | 744 "worker exit WaitForMultipleObjects: %ul", ev); |
745 | 745 |
746 if (ev == WAIT_OBJECT_0) { | 746 if (ev == WAIT_OBJECT_0) { |
905 | 905 |
906 for ( ;; ) { | 906 for ( ;; ) { |
907 ev = WaitForMultipleObjects(2, events, 0, INFINITE); | 907 ev = WaitForMultipleObjects(2, events, 0, INFINITE); |
908 | 908 |
909 err = ngx_errno; | 909 err = ngx_errno; |
910 ngx_time_update(0, 0); | 910 ngx_time_update(0); |
911 | 911 |
912 ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, 0, | 912 ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, 0, |
913 "cache manager WaitForMultipleObjects: %ul", ev); | 913 "cache manager WaitForMultipleObjects: %ul", ev); |
914 | 914 |
915 if (ev == WAIT_FAILED) { | 915 if (ev == WAIT_FAILED) { |
966 if (path[i]->manager) { | 966 if (path[i]->manager) { |
967 n = path[i]->manager(path[i]->data); | 967 n = path[i]->manager(path[i]->data); |
968 | 968 |
969 next = (n <= next) ? n : next; | 969 next = (n <= next) ? n : next; |
970 | 970 |
971 ngx_time_update(0, 0); | 971 ngx_time_update(0); |
972 } | 972 } |
973 } | 973 } |
974 | 974 |
975 if (next == 0) { | 975 if (next == 0) { |
976 next = 1; | 976 next = 1; |
978 | 978 |
979 ev = WaitForSingleObject(ngx_cache_manager_event, (u_long) next * 1000); | 979 ev = WaitForSingleObject(ngx_cache_manager_event, (u_long) next * 1000); |
980 | 980 |
981 if (ev != WAIT_TIMEOUT) { | 981 if (ev != WAIT_TIMEOUT) { |
982 | 982 |
983 ngx_time_update(0, 0); | 983 ngx_time_update(0); |
984 | 984 |
985 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ngx_cycle->log, 0, | 985 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ngx_cycle->log, 0, |
986 "cache manager WaitForSingleObject: %ul", ev); | 986 "cache manager WaitForSingleObject: %ul", ev); |
987 } | 987 } |
988 } | 988 } |
1006 break; | 1006 break; |
1007 } | 1007 } |
1008 | 1008 |
1009 if (path[i]->loader) { | 1009 if (path[i]->loader) { |
1010 path[i]->loader(path[i]->data); | 1010 path[i]->loader(path[i]->data); |
1011 ngx_time_update(0, 0); | 1011 ngx_time_update(0); |
1012 } | 1012 } |
1013 } | 1013 } |
1014 | 1014 |
1015 return 0; | 1015 return 0; |
1016 } | 1016 } |