diff --git a/src/quic_sock.c b/src/quic_sock.c index f096ca3e6..11008fb41 100644 --- a/src/quic_sock.c +++ b/src/quic_sock.c @@ -542,7 +542,10 @@ static struct task *quic_accept_run(struct task *t, void *ctx, unsigned int i) mt_list_for_each_entry_safe(lthr, &queue->listeners, quic_accept.list, elt1, elt2) { listener_accept(lthr->li); - MT_LIST_DELETE_SAFE(elt1); + if (!MT_LIST_ISEMPTY(<hr->quic_accept.conns)) + tasklet_wakeup((struct tasklet*)t); + else + MT_LIST_DELETE_SAFE(elt1); } return NULL;