aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix/ngx_process_cycle.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-07-05 15:08:23 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-07-05 15:08:23 +0000
commitf1be53b48a52a79bc9edee07b4a3d0169339f05b (patch)
tree0e63eaea1550dd534fab81589049bd20c9cf826f /src/os/unix/ngx_process_cycle.c
parent32fcd5cf64b9f55f9184e98e39f1b2152321a710 (diff)
downloadnginx-f1be53b48a52a79bc9edee07b4a3d0169339f05b.tar.gz
nginx-f1be53b48a52a79bc9edee07b4a3d0169339f05b.zip
nginx-0.0.7-2004-07-05-19:08:23 import
Diffstat (limited to 'src/os/unix/ngx_process_cycle.c')
-rw-r--r--src/os/unix/ngx_process_cycle.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
index 97b301459..1a5e5c420 100644
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -792,7 +792,12 @@ static void ngx_wakeup_worker_threads(ngx_cycle_t *cycle)
for (i = 0; i < ngx_threads_n; i++) {
if (ngx_threads[i].state < NGX_THREAD_EXIT) {
ngx_cond_signal(ngx_threads[i].cv);
- live = 1;
+
+ if (ngx_threads[i].cv->tid == -1) {
+ ngx_threads[i].state = NGX_THREAD_DONE;
+ } else {
+ live = 1;
+ }
}
if (ngx_threads[i].state == NGX_THREAD_EXIT) {