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.
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;
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)) {