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;