From d7111e7ace164a2ffac2219d619776dd6b68be87 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Tue, 14 Feb 2023 15:49:15 +0100 Subject: [PATCH] MEDIUM: stconn: Don't requeue the stream's task after I/O After I/O handling, in sc_notify(), the stream's task is no longer requeue. The stream may be woken up. But its task is not requeue. It is useless nowadays and only avoids a call to process_stream() for edge cases. It is not really a big deal if the stream is woken up for nothing because its task expired. At worst, it will be responsible to compute its new expiration date. --- src/stconn.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/stconn.c b/src/stconn.c index fd8c0f629f..f834f70e1d 100644 --- a/src/stconn.c +++ b/src/stconn.c @@ -1218,18 +1218,7 @@ static void sc_notify(struct stconn *sc) (channel_is_empty(oc) && !oc->to_forward)))))) { task_wakeup(task, TASK_WOKEN_IO); } - else { - /* Update expiration date for the task and requeue it */ - task->expire = tick_first((tick_is_expired(task->expire, now_ms) ? 0 : task->expire), - tick_first(tick_first(sc_ep_rex(sc), sc_ep_wex(sc)), - tick_first(sc_ep_rex(sco), sc_ep_wex(sco)))); - - task->expire = tick_first(task->expire, ic->analyse_exp); - task->expire = tick_first(task->expire, oc->analyse_exp); - task->expire = tick_first(task->expire, __sc_strm(sc)->conn_exp); - task_queue(task); - } if (ic->flags & CF_READ_EVENT) ic->flags &= ~CF_READ_DONTWAIT; } -- 2.39.5