summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2013-08-15 19:16:12 +0400
committerValentin Bartenev <vbart@nginx.com>2013-08-15 19:16:12 +0400
commitc189eda9e6b6d5d0a0e64ab684de8b2f9bf1abd6 (patch)
tree6a96165405ca5bb26b5ad695a8e636bbd5787bdf
parentdb8a0c8bf1d07936691107a4ea1626112541250c (diff)
downloadnginx-c189eda9e6b6d5d0a0e64ab684de8b2f9bf1abd6.tar.gz
nginx-c189eda9e6b6d5d0a0e64ab684de8b2f9bf1abd6.tar.bz2
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.
-rw-r--r--src/http/ngx_http_spdy.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/http/ngx_http_spdy.c b/src/http/ngx_http_spdy.c
index 8522c6d0a..e7bebccd5 100644
--- 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_stream_t *stream, ngx_int_t rc)
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_stream_t *stream, ngx_int_t rc)
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) {