summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_close.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2003-03-11 20:38:13 +0000
committerIgor Sysoev <igor@sysoev.ru>2003-03-11 20:38:13 +0000
commitb738757f359a79b346bcc40895ed0a5ca697e8e2 (patch)
tree517f3cdbf30667c5183ba06f4d895acc78a308bf /src/event/ngx_event_close.c
parent0dad629f63e6bb8bc61314ba0c0aed5412353947 (diff)
downloadnginx-b738757f359a79b346bcc40895ed0a5ca697e8e2.tar.gz
nginx-b738757f359a79b346bcc40895ed0a5ca697e8e2.tar.bz2
nginx-0.0.1-2003-03-11-23:38:13 import
Diffstat (limited to 'src/event/ngx_event_close.c')
-rw-r--r--src/event/ngx_event_close.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/event/ngx_event_close.c b/src/event/ngx_event_close.c
index 8c8fd1bef..06e911759 100644
--- a/src/event/ngx_event_close.c
+++ b/src/event/ngx_event_close.c
@@ -13,15 +13,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_log_debug(c->log, "close connection: %d" _ c->fd);
ngx_assert((c->fd != -1), return NGX_ERROR, c->log,
"ngx_event_close: already closed");
- ngx_destroy_pool(c->pool);
+ if (c->read->timer_set) {
+ ngx_del_timer(c->read);
+ c->read->timer_set = 0;
+ }
- ngx_del_timer(c->read);
- ngx_del_timer(c->write);
+ if (c->write->timer_set) {
+ ngx_del_timer(c->write);
+ c->write->timer_set = 0;
+ }
ngx_del_event(c->read, NGX_READ_EVENT, NGX_CLOSE_EVENT);
ngx_del_event(c->write, NGX_WRITE_EVENT, NGX_CLOSE_EVENT);
@@ -32,5 +37,7 @@ int ngx_event_close_connection(ngx_event_t *ev)
c->fd = -1;
+ ngx_destroy_pool(c->pool);
+
return rc;
}