summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_close.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/event/ngx_event_close.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/event/ngx_event_close.c b/src/event/ngx_event_close.c
index 0e3fe20c7..66a3693a7 100644
--- a/src/event/ngx_event_close.c
+++ b/src/event/ngx_event_close.c
@@ -11,21 +11,20 @@ int ngx_event_close_connection(ngx_event_t *ev)
int rc;
ngx_connection_t *c = (ngx_connection_t *) ev->data;
+ ngx_log_debug(c->log, "CLOSE: %d" _ c->fd);
+
ngx_assert((c->fd != -1), return NGX_ERROR, c->log,
"ngx_event_close: already closed");
ngx_destroy_pool(c->pool);
+ ngx_del_event(c->read, NGX_READ_EVENT, NGX_CLOSE_EVENT);
+ ngx_del_event(c->write, NGX_WRITE_EVENT, NGX_CLOSE_EVENT);
+
if ((rc = ngx_close_socket(c->fd)) == -1)
ngx_log_error(NGX_LOG_ERR, c->log, ngx_socket_errno,
"ngx_event_close: close failed");
- if (c->read->next)
- ngx_del_event(c->read, NGX_READ_EVENT);
-
- if (c->write->next)
- ngx_del_event(c->write, NGX_WRITE_EVENT);
-
c->fd = -1;
return rc;