BUG/MEDIUM: h2: Don't forget to wake the tasklet after shutr/shutw.
When reaching h2_shutr/h2_shutw, as we may have generated an empty frame,
a goaway or a rst, make sure we wake the I/O tasklet, or we may not send
what we just generated.
Also in h2_shutw(), don't forget to return if all went well, we don't want
to subscribe the h2s to wait events.
diff --git a/src/mux_h2.c b/src/mux_h2.c
index b5800f3..8d5c9de 100644
--- a/src/mux_h2.c
+++ b/src/mux_h2.c
@@ -2862,6 +2862,8 @@
h2c_send_goaway_error(h2c, h2s) <= 0)
return;
+ if (!(h2c->wait_event.wait_reason & SUB_CAN_SEND))
+ tasklet_wakeup(h2c->wait_event.task);
h2s_close(h2s);
return;
@@ -2918,6 +2920,9 @@
h2s_close(h2s);
}
+ if (!(h2c->wait_event.wait_reason & SUB_CAN_SEND))
+ tasklet_wakeup(h2c->wait_event.task);
+ return;
add_to_list:
if (LIST_ISEMPTY(&h2s->list)) {