Removed c->single_connection flag. The c->single_connection was intended to be used as lock mechanism to serialize modifications of request object from several threads working with client and upstream connections. The flag is redundant since threads in nginx have never been used that way.
diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c index c818114..09ad15f 100644 --- a/src/core/ngx_connection.c +++ b/src/core/ngx_connection.c
@@ -900,11 +900,9 @@ c->read->closed = 1; c->write->closed = 1; - if (c->single_connection) { - ngx_unlock(&c->lock); - c->read->locked = 0; - c->write->locked = 0; - } + ngx_unlock(&c->lock); + c->read->locked = 0; + c->write->locked = 0; ngx_mutex_unlock(ngx_posted_events_mutex);
diff --git a/src/core/ngx_connection.h b/src/core/ngx_connection.h index 87fd087..3daf2ee 100644 --- a/src/core/ngx_connection.h +++ b/src/core/ngx_connection.h
@@ -152,7 +152,6 @@ unsigned log_error:3; /* ngx_connection_log_error_e */ - unsigned single_connection:1; unsigned unexpected_eof:1; unsigned timedout:1; unsigned error:1;
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index ea05305..7fe30e5 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c
@@ -554,7 +554,6 @@ return; } - c->single_connection = 1; c->destroyed = 0; #if (NGX_HTTP_SSL)
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index 6a77f7f..d3e9b55 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c
@@ -1118,8 +1118,6 @@ r->connection->log->action = "connecting to upstream"; - r->connection->single_connection = 0; - if (u->state && u->state->response_sec) { tp = ngx_timeofday(); u->state->response_sec = tp->sec - u->state->response_sec;