diff options
Diffstat (limited to 'src/core/ngx_connection.c')
-rw-r--r-- | src/core/ngx_connection.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c index 4c42ffc0d..b687d76b2 100644 --- a/src/core/ngx_connection.c +++ b/src/core/ngx_connection.c @@ -951,40 +951,21 @@ ngx_close_connection(ngx_connection_t *c) * before we clean the connection */ - ngx_mutex_lock(ngx_posted_events_mutex); - - if (c->read->prev) { - ngx_delete_posted_event(c->read); - } - - if (c->write->prev) { - 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 +#endif - if (c->read->prev) { + if (c->read->posted) { ngx_delete_posted_event(c->read); } - if (c->write->prev) { + if (c->write->posted) { ngx_delete_posted_event(c->write); } c->read->closed = 1; c->write->closed = 1; -#endif - ngx_reusable_connection(c, 0); log_error = c->log_error; |