vcl: ignore rx events for sessions in epoll lt list 29/33629/2
authorFlorin Coras <fcoras@cisco.com>
Tue, 31 Aug 2021 20:29:41 +0000 (13:29 -0700)
committerDave Barach <openvpp@barachs.net>
Wed, 1 Sep 2021 14:03:41 +0000 (14:03 +0000)
Type: fix

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

src/vcl/vppcom.c

index c718c2f..2082394 100644 (file)
@@ -3016,8 +3016,9 @@ vcl_epoll_wait_handle_mq_event (vcl_worker_t * wrk, session_event_t * e,
        break;
       vcl_fifo_rx_evt_valid_or_break (s);
       session_events = s->vep.ev.events;
-      if (!(EPOLLIN & s->vep.ev.events)
-         || (s->flags & VCL_SESSION_F_HAS_RX_EVT))
+      if (!(EPOLLIN & s->vep.ev.events) ||
+         (s->flags & VCL_SESSION_F_HAS_RX_EVT) ||
+         (s->vep.lt_next != VCL_INVALID_SESSION_INDEX))
        break;
       add_event = 1;
       events[*num_ev].events = EPOLLIN;