aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwanghanlin <wanghanlin@corp.netease.com>2019-12-16 19:14:39 +0800
committerAndrew Yourtchenko <ayourtch@gmail.com>2020-08-12 07:43:14 +0000
commit889ea0f54c42e3a592625f2bfd480bf3c13ab1bc (patch)
treee2834b4486dbafa2e293117e6bb252f5940f6626
parentec12ffe1bd6393e1e0c826baa2e760a8e0ffce18 (diff)
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 <wanghanlin@corp.netease.com> Change-Id: Ice53442de66289a62591b79a9cc31e883e894c23 (cherry picked from commit 96453fd2417ebd1d69354a7fb692976129cea80e)
-rw-r--r--src/vcl/vppcom.c2
1 files changed, 1 insertions, 1 deletions
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;
}