# HG changeset patch # User Valentin Bartenev # Date 1409157851 -14400 # Node ID 11790b461a6ffbff37a283d0a0f4219c9af35e11 # Parent 954867a2f0a6089109ef53d74bb4ac573d73dd48 SPDY: avoid setting timeout on stream events in ngx_http_writer(). The SPDY module doesn't expect timers can be set on stream events for reasons other than delaying output. But ngx_http_writer() could add timer on write event if the delayed flag wasn't set and nginx is waiting for AIO completion. That could cause delays in sending response over SPDY when file AIO was used. diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -2656,6 +2656,12 @@ ngx_http_writer(ngx_http_request_t *r) if (r->buffered || r->postponed || (r == r->main && c->buffered)) { +#if (NGX_HTTP_SPDY) + if (r->spdy_stream) { + return; + } +#endif + if (!wev->delayed) { ngx_add_timer(wev, clcf->send_timeout); }