aboutsummaryrefslogtreecommitdiffstats
path: root/src/vcl
diff options
context:
space:
mode:
authorwanghanlin <wanghanlin@corp.netease.com>2019-12-16 19:14:39 +0800
committerFlorin Coras <florin.coras@gmail.com>2019-12-17 07:49:40 +0000
commit96453fd2417ebd1d69354a7fb692976129cea80e (patch)
treeec417e7692833025f1a5335b43f5d187d1cf6fc6 /src/vcl
parentecb9d18c59f65c87430d6a7c53ee1e525d75d430 (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
Diffstat (limited to 'src/vcl')
-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 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;
}