diff --git a/src/shrpx_http2_upstream.cc b/src/shrpx_http2_upstream.cc index 3c0c8d28..4c4ef0cc 100644 --- a/src/shrpx_http2_upstream.cc +++ b/src/shrpx_http2_upstream.cc @@ -929,6 +929,7 @@ int Http2Upstream::downstream_read(DownstreamConnection *dconn) { } if (rv == SHRPX_ERR_DCONN_CANCELED) { downstream->pop_downstream_connection(); + handler_->signal_write(); return 0; } if (rv != 0) { diff --git a/src/shrpx_spdy_upstream.cc b/src/shrpx_spdy_upstream.cc index f8d59ea1..b3ef81be 100644 --- a/src/shrpx_spdy_upstream.cc +++ b/src/shrpx_spdy_upstream.cc @@ -602,6 +602,7 @@ int SpdyUpstream::downstream_read(DownstreamConnection *dconn) { } if (rv == SHRPX_ERR_DCONN_CANCELED) { downstream->pop_downstream_connection(); + handler_->signal_write(); return 0; } if (rv != 0) {