changeset 5325:abf7813b927e

SPDY: alert about activated fake events instead of deleting them. They refer to the same socket descriptor as our real connection, and deleting them will stop processing of the connection. Events of fake connections must not be activated, and if it happened there is nothing we can do. The whole processing should be terminated as soon as possible, but it is not obvious how to do this safely.
author Valentin Bartenev <vbart@nginx.com>
date Thu, 15 Aug 2013 19:16:12 +0400
parents 8ef1722143dc
children d22eb224aedf
files src/http/ngx_http_spdy.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/ngx_http_spdy.c
+++ b/src/http/ngx_http_spdy.c
@@ -2663,7 +2663,8 @@ ngx_http_spdy_close_stream(ngx_http_spdy
     ev = fc->read;
 
     if (ev->active || ev->disabled) {
-        ngx_del_event(ev, NGX_READ_EVENT, 0);
+        ngx_log_error(NGX_LOG_ALERT, sc->connection->log, 0,
+                      "spdy fake read event was activated");
     }
 
     if (ev->timer_set) {
@@ -2677,7 +2678,8 @@ ngx_http_spdy_close_stream(ngx_http_spdy
     ev = fc->write;
 
     if (ev->active || ev->disabled) {
-        ngx_del_event(ev, NGX_WRITE_EVENT, 0);
+        ngx_log_error(NGX_LOG_ALERT, sc->connection->log, 0,
+                      "spdy fake write event was activated");
     }
 
     if (ev->timer_set) {