diff options
author | Igor Sysoev <igor@sysoev.ru> | 2004-07-05 15:08:23 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2004-07-05 15:08:23 +0000 |
commit | f1be53b48a52a79bc9edee07b4a3d0169339f05b (patch) | |
tree | 0e63eaea1550dd534fab81589049bd20c9cf826f /src/os/unix/ngx_process_cycle.c | |
parent | 32fcd5cf64b9f55f9184e98e39f1b2152321a710 (diff) | |
download | nginx-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.c | 7 |
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) { |