diff --git a/src/quic_conn.c b/src/quic_conn.c index a393e76c8..00d974146 100644 --- a/src/quic_conn.c +++ b/src/quic_conn.c @@ -1060,7 +1060,6 @@ struct task *qc_process_timer(struct task *task, void *ctx, unsigned int state) if (qc->flags & (QUIC_FL_CONN_DRAINING|QUIC_FL_CONN_TO_KILL)) { TRACE_PROTO("cancelled action (draining state)", QUIC_EV_CONN_PTIMER, qc); - task = NULL; goto out; } @@ -1615,6 +1614,7 @@ struct task *qc_idle_timer_task(struct task *t, void *ctx, unsigned int state) if (qc->mux_state != QC_MUX_READY) { quic_conn_release(qc); qc = NULL; + t = NULL; } /* TODO if the quic-conn cannot be freed because of the MUX, we may at @@ -1627,10 +1627,6 @@ struct task *qc_idle_timer_task(struct task *t, void *ctx, unsigned int state) HA_ATOMIC_DEC(&prx_counters->half_open_conn); } - leave: - TRACE_LEAVE(QUIC_EV_CONN_IDLE_TIMER, qc); - return NULL; - requeue: TRACE_LEAVE(QUIC_EV_CONN_IDLE_TIMER, qc); return t;