summaryrefslogtreecommitdiff
path: root/src/core/ngx_connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ngx_connection.c')
-rw-r--r--src/core/ngx_connection.c25
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;