eal/linux: fix handling of error events from epoll
The "rev->epdata.event" assigned to "events.epdata.event" directly, which
was wrong in case of epoll events. It should be set to the "evs.events".
Fixes: 9efe9c6cdc
("eal/linux: add epoll wrappers")
Cc: stable@dpdk.org
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Acked-by: Harman Kalra <hkalra@marvell.com>
This commit is contained in:
parent
e6b8750165
commit
e3e9c87c0f
@ -1241,7 +1241,7 @@ eal_epoll_process_event(struct epoll_event *evs, unsigned int n,
|
|||||||
events[count].status = RTE_EPOLL_VALID;
|
events[count].status = RTE_EPOLL_VALID;
|
||||||
events[count].fd = rev->fd;
|
events[count].fd = rev->fd;
|
||||||
events[count].epfd = rev->epfd;
|
events[count].epfd = rev->epfd;
|
||||||
events[count].epdata.event = rev->epdata.event;
|
events[count].epdata.event = evs[i].events;
|
||||||
events[count].epdata.data = rev->epdata.data;
|
events[count].epdata.data = rev->epdata.data;
|
||||||
if (rev->epdata.cb_fun)
|
if (rev->epdata.cb_fun)
|
||||||
rev->epdata.cb_fun(rev->fd,
|
rev->epdata.cb_fun(rev->fd,
|
||||||
|
Loading…
Reference in New Issue
Block a user