diff src/os/unix/ngx_process_cycle.c @ 136:3656228c0b56 NGINX_0_3_15

nginx 0.3.15 *) Feature: the new 444 code of the "return" directive to close connection. *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy. *) Bugfix: if there are unclosed connection nginx now calls abort() only on gracefull quit and active "debug_points" directive.
author Igor Sysoev <http://sysoev.ru>
date Wed, 07 Dec 2005 00:00:00 +0300
parents df17fbafec8f
children 8e6d4d96ec4c
line wrap: on
line diff
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -938,23 +938,25 @@ ngx_worker_process_exit(ngx_cycle_t *cyc
         }
     }
 
-    c = cycle->connections;
-    for (i = 0; i < cycle->connection_n; i++) {
-        if (c[i].fd != -1
-            && c[i].read
-            && !c[i].read->accept
-            && !c[i].read->channel)
-        {
-            ngx_log_error(NGX_LOG_ALERT, cycle->log, 0,
-                          "open socket #%d left in %ui connection, "
-                          "aborting",
-                          c[i].fd, i);
-            ngx_abort();
+    if (ngx_quit) {
+        c = cycle->connections;
+        for (i = 0; i < cycle->connection_n; i++) {
+            if (c[i].fd != -1
+                && c[i].read
+                && !c[i].read->accept
+                && !c[i].read->channel)
+            {
+                ngx_log_error(NGX_LOG_ALERT, cycle->log, 0,
+                              "open socket #%d left in %ui connection, "
+                              "aborting",
+                              c[i].fd, i);
+                ngx_debug_point();
+            }
         }
-    }
 
-    if (ngx_debug_quit) {
-        ngx_debug_point();
+        if (ngx_debug_quit) {
+            ngx_debug_point();
+        }
     }
 
     /*