BUG/MEDIUM: h2: Use the new sending_list in h2s_notify_send().

In h2s_notify_send(), use the new sending_list instead of using the old
way of setting hs->send_wait to NULL, failing to do so may lead to crashes.

This should be backported to 1.9.
This commit is contained in:
Olivier Houchard 2019-03-25 14:04:25 +01:00 committed by Olivier Houchard
parent 01d4cb5339
commit fd1e96d2fb

View File

@ -714,13 +714,12 @@ static void __maybe_unused h2s_notify_send(struct h2s *h2s)
{
struct wait_event *sw;
if (h2s->send_wait) {
if (h2s->send_wait && !(h2s->send_wait->events & SUB_CALL_UNSUBSCRIBE)) {
sw = h2s->send_wait;
sw->events &= ~SUB_RETRY_SEND;
sw->events |= SUB_CALL_UNSUBSCRIBE;
LIST_ADDQ(&h2s->h2c->sending_list, &h2s->sending_list);
tasklet_wakeup(sw->task);
h2s->send_wait = NULL;
LIST_DEL(&h2s->list);
LIST_INIT(&h2s->list);
}
}