diff src/os/unix/ngx_process.c @ 222:99df0edb63ed

nginx-0.0.1-2004-01-09-00:02:06 import
author Igor Sysoev <igor@sysoev.ru>
date Thu, 08 Jan 2004 21:02:06 +0000
parents 401154e21826
children d427f1c3fe95
line wrap: on
line diff
--- a/src/os/unix/ngx_process.c
+++ b/src/os/unix/ngx_process.c
@@ -112,7 +112,7 @@ static void ngx_exec_proc(ngx_cycle_t *c
 }
 
 
-void ngx_signal_processes(ngx_cycle_t *cycle, ngx_int_t signal)
+void ngx_signal_processes(ngx_cycle_t *cycle, ngx_int_t signo)
 {
     ngx_uint_t  i;
 
@@ -122,24 +122,26 @@ void ngx_signal_processes(ngx_cycle_t *c
             continue;
         }
 
+#if 0
         if (ngx_processes[i].exited) {
             if (i != --ngx_last_process) {
                 ngx_processes[i--] = ngx_processes[ngx_last_process];
             }
             continue;
         }
+#endif
 
         ngx_log_debug2(NGX_LOG_DEBUG_CORE, cycle->log, 0,
                        "kill (" PID_T_FMT ", %d)" ,
-                       ngx_processes[i].pid, signal);
+                       ngx_processes[i].pid, signo);
 
-        if (kill(ngx_processes[i].pid, signal) == -1) {
+        if (kill(ngx_processes[i].pid, signo) == -1) {
             ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
-                          "kill(%d, %d) failed", ngx_processes[i].pid, signal);
+                          "kill(%d, %d) failed", ngx_processes[i].pid, signo);
             continue;
         }
 
-        if (signal != ngx_signal_value(NGX_REOPEN_SIGNAL)) {
+        if (signo != ngx_signal_value(NGX_REOPEN_SIGNAL)) {
             ngx_processes[i].exiting = 1;
         }
     }
@@ -151,7 +153,7 @@ void ngx_respawn_processes(ngx_cycle_t *
     ngx_uint_t  i;
 
     for (i = 0; i < ngx_last_process; i++) {
-        if (!ngx_processes[i].exited) {
+        if (ngx_processes[i].exiting || !ngx_processes[i].exited) {
             continue;
         }
 
@@ -212,11 +214,7 @@ void ngx_process_get_status()
         for (i = 0; i < ngx_last_process; i++) {
             if (ngx_processes[i].pid == pid) {
                 ngx_processes[i].status = status;
-
-                if (!ngx_processes[i].exiting) {
-                    ngx_processes[i].exited = 1;
-                }
-
+                ngx_processes[i].exited = 1;
                 process = ngx_processes[i].name;
                 break;
             }