# HG changeset patch # User Piotr Sikora <[email protected]> # Date 1389316088 -3600 # Fri Jan 10 02:08:08 2014 +0100 # Node ID c26d5f5e8d74dc9ab71476688074717857df5216 # Parent 4aa64f6950313311e0d322a2af1788edeb7f036c SPDY: send PING reply frame right away.
Previously, PING reply frame was queued right away, but it was send along subsequent response, which means that in case of long running request PING reply could have been delayed by more than 10 seconds, which is the time some browsers are waiting for a PING reply. Those browsers would then correctly consider such connection broken and would resend exactly the same request over a new connection, which isn't safe in case of non-idempotent HTTP methods. Signed-off-by: Piotr Sikora <[email protected]> diff -r 4aa64f695031 -r c26d5f5e8d74 src/http/ngx_http_spdy.c --- a/src/http/ngx_http_spdy.c Sat Jan 04 03:32:22 2014 +0400 +++ b/src/http/ngx_http_spdy.c Fri Jan 10 02:08:08 2014 +0100 @@ -1367,6 +1367,10 @@ ngx_http_spdy_state_ping(ngx_http_spdy_c pos += NGX_SPDY_PING_SIZE; + if (ngx_http_spdy_send_output_queue(sc) == NGX_ERROR) { + return ngx_http_spdy_state_protocol_error(sc); + } + return ngx_http_spdy_state_complete(sc, pos, end); } _______________________________________________ nginx-devel mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-devel
