diff --git a/src/quic_sock.c b/src/quic_sock.c index fa2eb3d82..16c4c644f 100644 --- a/src/quic_sock.c +++ b/src/quic_sock.c @@ -918,7 +918,10 @@ 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;