Mercurial > hg > nginx-quic
changeset 6058:7ba52c995325
SPDY: fixed error handling in ngx_http_spdy_send_output_queue().
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Mon, 23 Mar 2015 20:47:46 +0300 |
parents | 5c1b480ddcab |
children | c81d79a7befd |
files | src/http/ngx_http_spdy.c |
diffstat | 1 files changed, 12 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_spdy.c +++ b/src/http/ngx_http_spdy.c @@ -700,20 +700,14 @@ ngx_http_spdy_send_output_queue(ngx_http cl = c->send_chain(c, cl, 0); if (cl == NGX_CHAIN_ERROR) { - c->error = 1; - - if (!sc->blocked) { - ngx_post_event(wev, &ngx_posted_events); - } - - return NGX_ERROR; + goto error; } clcf = ngx_http_get_module_loc_conf(sc->http_connection->conf_ctx, ngx_http_core_module); if (ngx_handle_write_event(wev, clcf->send_lowat) != NGX_OK) { - return NGX_ERROR; /* FIXME */ + goto error; } if (cl) { @@ -751,6 +745,16 @@ ngx_http_spdy_send_output_queue(ngx_http sc->last_out = frame; return NGX_OK; + +error: + + c->error = 1; + + if (!sc->blocked) { + ngx_post_event(wev, &ngx_posted_events); + } + + return NGX_ERROR; }