vcl: avoid duplicate tx events with epoll lt 98/38998/2
authorFlorin Coras <fcoras@cisco.com>
Mon, 5 Jun 2023 17:24:56 +0000 (10:24 -0700)
committerFlorin Coras <florin.coras@gmail.com>
Mon, 5 Jun 2023 17:28:35 +0000 (17:28 +0000)
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic6436426ead561e47fb77ed9a95afbd85f2998ae

src/vcl/vppcom.c

index 9e7af0a..474670e 100644 (file)
@@ -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;