From f1be53b48a52a79bc9edee07b4a3d0169339f05b Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Mon, 5 Jul 2004 15:08:23 +0000 Subject: nginx-0.0.7-2004-07-05-19:08:23 import --- src/http/ngx_http_request.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/http/ngx_http_request.c') diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index 74618313b..e2c28913d 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -1749,13 +1749,6 @@ void ngx_http_close_connection(ngx_connection_t *c) if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_OK) { - ngx_unlock(&c->lock); - c->read->locked = 0; - c->write->locked = 0; - - c->read->closed = 1; - c->write->closed = 1; - if (c->read->prev) { ngx_delete_posted_event(c->read); } @@ -1764,14 +1757,18 @@ void ngx_http_close_connection(ngx_connection_t *c) ngx_delete_posted_event(c->write); } + c->read->closed = 1; + c->write->closed = 1; + + ngx_unlock(&c->lock); + c->read->locked = 0; + c->write->locked = 0; + ngx_mutex_unlock(ngx_posted_events_mutex); } #else - c->read->closed = 1; - c->write->closed = 1; - if (c->read->prev) { ngx_delete_posted_event(c->read); } @@ -1780,6 +1777,9 @@ void ngx_http_close_connection(ngx_connection_t *c) ngx_delete_posted_event(c->write); } + c->read->closed = 1; + c->write->closed = 1; + #endif fd = c->fd; -- cgit v1.2.3