summaryrefslogtreecommitdiff
path: root/src/core/ngx_connection.c
diff options
context:
space:
mode:
authornginx <nginx@nginx.org>2014-09-16 14:45:43 +0000
committerJon Kolb <kolbyjack@gmail.com>2014-09-16 14:45:43 +0000
commitbb8c0683da773566e09797ef8a4ee00ad1e0f956 (patch)
tree5e2b511fa7d6f189171a65220d502d88f065d59d /src/core/ngx_connection.c
parent1176952193ccf47078dc84b8494d0496ad1ac4a2 (diff)
downloadnginx-1.7.5.tar.gz
Changes with nginx 1.7.5 16 Sep 2014v1.7.5
*) Security: it was possible to reuse SSL sessions in unrelated contexts if a shared SSL session cache or the same TLS session ticket key was used for multiple "server" blocks (CVE-2014-3616). Thanks to Antoine Delignat-Lavaud. *) Change: now the "stub_status" directive does not require a parameter. *) Feature: the "always" parameter of the "add_header" directive. *) Feature: the "proxy_next_upstream_tries", "proxy_next_upstream_timeout", "fastcgi_next_upstream_tries", "fastcgi_next_upstream_timeout", "memcached_next_upstream_tries", "memcached_next_upstream_timeout", "scgi_next_upstream_tries", "scgi_next_upstream_timeout", "uwsgi_next_upstream_tries", and "uwsgi_next_upstream_timeout" directives. *) Bugfix: in the "if" parameter of the "access_log" directive. *) Bugfix: in the ngx_http_perl_module. Thanks to Piotr Sikora. *) Bugfix: the "listen" directive of the mail proxy module did not allow to specify more than two parameters. *) Bugfix: the "sub_filter" directive did not work with a string to replace consisting of a single character. *) Bugfix: requests might hang if resolver was used and a timeout occurred during a DNS request. *) Bugfix: in the ngx_http_spdy_module when using with AIO. *) Bugfix: a segmentation fault might occur in a worker process if the "set" directive was used to change the "$http_...", "$sent_http_...", or "$upstream_http_..." variables. *) Bugfix: in memory allocation error handling. Thanks to Markus Linnala and Feng Gu.
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;