From 5d20b35f9adea823a2a592cd33de1df55d03cffa Mon Sep 17 00:00:00 2001 From: emersion Date: Sun, 11 Nov 2018 22:02:59 +0100 Subject: [PATCH] poll() doesn't return -errno --- event-loop.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/event-loop.c b/event-loop.c index 9a558a5a..897309a1 100644 --- a/event-loop.c +++ b/event-loop.c @@ -76,10 +76,6 @@ void finish_event_loop(struct mako_event_loop *loop) { } } -static int poll_event_loop(struct mako_event_loop *loop) { - return poll(loop->fds, MAKO_EVENT_COUNT, -1); -} - static void timespec_add(struct timespec *t, int delta_ms) { static const long ms = 1000000, s = 1000000000; @@ -190,13 +186,14 @@ int run_event_loop(struct mako_event_loop *loop) { int ret = 0; while (loop->running) { - ret = poll_event_loop(loop); + errno = 0; + ret = poll(loop->fds, MAKO_EVENT_COUNT, -1); if (!loop->running) { ret = 0; break; } if (ret < 0) { - fprintf(stderr, "failed to poll(): %s\n", strerror(-ret)); + fprintf(stderr, "failed to poll(): %s\n", strerror(errno)); break; }