Mercurial > hg > nginx
changeset 5813:11790b461a6f
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.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Wed, 27 Aug 2014 20:44:11 +0400 |
parents | 954867a2f0a6 |
children | a5886df87cbb |
files | src/http/ngx_http_request.c |
diffstat | 1 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_request.c Tue Aug 19 15:43:26 2014 +0400 +++ b/src/http/ngx_http_request.c Wed Aug 27 20:44:11 2014 +0400 @@ -2656,6 +2656,12 @@ 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); }