diff src/core/ngx_connection.c @ 317:1308b98496a2

nginx-0.0.3-2004-04-15-19:34:36 import
author Igor Sysoev <igor@sysoev.ru>
date Thu, 15 Apr 2004 15:34:36 +0000
parents 00c5660d2707
children 55e496a8ece3
line wrap: on
line diff
--- a/src/core/ngx_connection.c
+++ b/src/core/ngx_connection.c
@@ -228,7 +228,17 @@ void ngx_close_listening_sockets(ngx_cyc
         fd /= 4;
 #endif
 
-        ngx_del_event(&cycle->read_events[fd], NGX_READ_EVENT, NGX_CLOSE_EVENT);
+        if (ngx_event_flags & NGX_USE_SIGIO_EVENT) {
+            if (cycle->connections[fd].read->active) {
+                ngx_del_conn(&cycle->connections[fd], NGX_CLOSE_EVENT);
+            }
+
+        } else {
+            if (cycle->read_events[fd].active) {
+                ngx_del_event(&cycle->read_events[fd],
+                              NGX_READ_EVENT, NGX_CLOSE_EVENT);
+            }
+        }
 
         if (ngx_close_socket(ls[i].fd) == -1) {
             ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_socket_errno,