aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2023-06-05 10:24:56 -0700
committerFlorin Coras <florin.coras@gmail.com>2023-06-05 17:28:35 +0000
commitacecd0d9c225d5f87f2a518854c7eb7af319ef96 (patch)
tree20f55f1b7b0f9ed88b5f1900a4cb29d6b764c909
parentd52f80f422439227e98d9d26bf43394c69f8a7fd (diff)
vcl: avoid duplicate tx events with epoll lt
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic6436426ead561e47fb77ed9a95afbd85f2998ae
-rw-r--r--src/vcl/vppcom.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c
index 9e7af0a3a50..474670e7565 100644
--- a/src/vcl/vppcom.c
+++ b/src/vcl/vppcom.c
@@ -3058,7 +3058,8 @@ vcl_epoll_wait_handle_mq_event (vcl_worker_t * wrk, session_event_t * e,
svm_fifo_reset_has_deq_ntf (vcl_session_is_ct (s) ? s->ct_tx_fifo :
s->tx_fifo);
session_events = s->vep.ev.events;
- if (!(EPOLLOUT & session_events))
+ if (!(EPOLLOUT & session_events) ||
+ (s->vep.lt_next != VCL_INVALID_SESSION_INDEX))
break;
add_event = 1;
events[*num_ev].events = EPOLLOUT;