aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2021-08-31 13:29:41 -0700
committerDave Barach <openvpp@barachs.net>2021-09-01 14:03:41 +0000
commit99e4145fa5ebdc15d54128223b44b89e4f5c8c19 (patch)
tree6838c04424947cc3ed5441c89a8207d2766287a4
parenteb2e1f9d33d89c99385aa9e9ba9b85c33c42a12c (diff)
vcl: ignore rx events for sessions in epoll lt list
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I75f935cda00c335d0aefe02bff6fa8505dd931a8
-rw-r--r--src/vcl/vppcom.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c
index c718c2fcc97..20823945f8c 100644
--- a/src/vcl/vppcom.c
+++ b/src/vcl/vppcom.c
@@ -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;