Code Review
/
vpp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
review
|
tree
raw
|
patch
| inline |
side by side
(parent:
83ea669
)
vcl: fix empty epoll returns (VPP-1453)
76/15276/2
author
Florin Coras
<fcoras@cisco.com>
Fri, 12 Oct 2018 20:09:36 +0000
(13:09 -0700)
committer
Dave Barach
<openvpp@barachs.net>
Sun, 14 Oct 2018 10:48:51 +0000
(10:48 +0000)
Change-Id: I0b191ddb749b1aa132c2d33b8359c146b36d27af
Signed-off-by: Florin Coras <fcoras@cisco.com>
src/vcl/vppcom.c
patch
|
blob
|
history
diff --git
a/src/vcl/vppcom.c
b/src/vcl/vppcom.c
index
3f12b86
..
df4ebde
100644
(file)
--- a/
src/vcl/vppcom.c
+++ b/
src/vcl/vppcom.c
@@
-2508,6
+2508,7
@@
vppcom_epoll_wait_eventfd (vcl_worker_t * wrk, struct epoll_event *events,
u64 buf;
vec_validate (wrk->mq_events, pool_elts (wrk->mq_evt_conns));
+again:
n_mq_evts = epoll_wait (wrk->mqs_epfd, wrk->mq_events,
vec_len (wrk->mq_events), wait_for_time);
for (i = 0; i < n_mq_evts; i++)
@@
-2516,6
+2517,8
@@
vppcom_epoll_wait_eventfd (vcl_worker_t * wrk, struct epoll_event *events,
n_read = read (mqc->mq_fd, &buf, sizeof (buf));
vcl_epoll_wait_handle_mq (wrk, mqc->mq, events, maxevents, 0, &n_evts);
}
+ if (!n_evts && n_mq_evts > 0)
+ goto again;
return (int) n_evts;
}