diff src/os/unix/ngx_posix_init.c @ 243:bf2faf694c19

nginx-0.0.1-2004-01-28-23:38:54 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 28 Jan 2004 20:38:54 +0000
parents 674f85a4d00f
children c31c40540318
line wrap: on
line diff
--- a/src/os/unix/ngx_posix_init.c
+++ b/src/os/unix/ngx_posix_init.c
@@ -42,6 +42,8 @@ ngx_signal_t  signals[] = {
       "SIG" ngx_value(NGX_CHANGEBIN_SIGNAL),
       ngx_signal_handler },
 
+    { SIGALRM, "SIGALRM", ngx_signal_handler },
+
     { SIGINT, "SIGINT", ngx_signal_handler },
 
     { SIGCHLD, "SIGCHLD", ngx_signal_handler },
@@ -99,7 +101,6 @@ void ngx_signal_handler(int signo)
     ngx_err_t        err;
     ngx_signal_t    *sig;
 
-    ngx_signal = 1;
     ignore = 0;
 
     err = ngx_errno;
@@ -172,6 +173,14 @@ void ngx_signal_handler(int signo)
             action = ", changing binary";
             break;
 
+        case SIGALRM:
+            if (!ngx_terminate) {
+                ngx_timer = 1;
+                action = ", shutting down old worker process";
+            }
+
+            break;
+
         case SIGCHLD:
             ngx_reap = 1;
             break;