X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvcl%2Fvppcom.c;h=4fc8bfce5814207c53d2b40fbccf0225bdb75f56;hb=d0e646f6892e9c85278c9538760a8940c86dcdbb;hp=2c01589bab51c3b18d9d46a54e2d57f31fe61713;hpb=219fbb228f5274d2db740139a0d3258902370165;p=vpp.git diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index 2c01589bab5..4fc8bfce581 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -2923,7 +2923,7 @@ vcl_epoll_wait_handle_mq (vcl_worker_t * wrk, svm_msg_q_t * mq, } } ASSERT (maxevents > *num_ev); - vcl_mq_dequeue_batch (wrk, mq, maxevents - *num_ev); + vcl_mq_dequeue_batch (wrk, mq, ~0); svm_msg_q_unlock (mq); handle_dequeued: @@ -2931,7 +2931,10 @@ handle_dequeued: { msg = vec_elt_at_index (wrk->mq_msg_vector, i); e = svm_msg_q_msg_data (mq, msg); - vcl_epoll_wait_handle_mq_event (wrk, e, events, num_ev); + if (*num_ev < maxevents) + vcl_epoll_wait_handle_mq_event (wrk, e, events, num_ev); + else + vcl_handle_mq_event (wrk, e); svm_msg_q_free_msg (mq, msg); } vec_reset_length (wrk->mq_msg_vector);