candump: fix epoll_wait() returning -1, errno == -EINTR

-EINTR is not an error, just restart the syscall.

Fixes: 639498bc80 ("candump: use epoll_wait() instead of select()")
Link: https://github.com/linux-can/can-utils/issues/296
Reported-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
Marc Kleine-Budde
2021-05-28 11:57:38 +02:00
parent f8a2cf01fa
commit 1b4e317083
+4 -4
View File
@@ -690,10 +690,10 @@ int main(int argc, char **argv)
msg.msg_control = &ctrlmsg;
while (running) {
if ((num_events = epoll_wait(fd_epoll, events_pending, currmax, timeout_ms)) <= 0) {
//perror("epoll_wait");
running = 0;
num_events = epoll_wait(fd_epoll, events_pending, currmax, timeout_ms);
if (num_events == -1) {
if (errno != EINTR)
running = 0;
continue;
}