From 889ea0f54c42e3a592625f2bfd480bf3c13ab1bc Mon Sep 17 00:00:00 2001 From: wanghanlin Date: Mon, 16 Dec 2019 19:14:39 +0800 Subject: vcl: RX event may lost when accept session repeatedly Type: fix Some applications may call accept repeatedly to process all connect request until get EAGIAIN error. Subsequent call may get RX event of previous accepted session, then should process it rather than just discard it. Signed-off-by: wanghanlin Change-Id: Ice53442de66289a62591b79a9cc31e883e894c23 (cherry picked from commit 96453fd2417ebd1d69354a7fb692976129cea80e) --- src/vcl/vppcom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index 0bbdea54940..52639c4e2b0 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -1475,7 +1475,7 @@ vppcom_session_accept (uint32_t listen_session_handle, vppcom_endpt_t * ep, e = svm_msg_q_msg_data (wrk->app_event_queue, &msg); if (e->event_type != SESSION_CTRL_EVT_ACCEPTED) { - VDBG (0, "discarded event: %u", e->event_type); + vcl_handle_mq_event (wrk, e); svm_msg_q_free_msg (wrk->app_event_queue, &msg); continue; } -- cgit 1.2.3-korg