From: wanghanlin Date: Mon, 16 Dec 2019 11:14:39 +0000 (+0800) Subject: vcl: RX event may lost when accept session repeatedly X-Git-Tag: v20.05-rc0~177 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;ds=sidebyside;h=96453fd2417ebd1d69354a7fb692976129cea80e;p=vpp.git 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 --- diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index d9a227d4e0a..a854011fa0d 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -1470,7 +1470,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; }