From e19f9ce39fdf299944da41d754c78e34e86611af Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sat, 11 Feb 2017 13:01:12 +0700 Subject: [PATCH] evpoll: Always initialize revents for the output Even if we have not selected the fd (e.g. fd < 0), initialize revents to 0. This seems to match gpoll.c:g_poll of glib. Change-Id: I9e16a6d5a74a204c85808ba67a8f0f7af3045059 --- src/evpoll.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/evpoll.c b/src/evpoll.c index 1648080..a4b8a80 100644 --- a/src/evpoll.c +++ b/src/evpoll.c @@ -92,10 +92,11 @@ int evpoll(struct pollfd *fds, nfds_t nfds, int timeout) osmo_fd_disp_fds(&readset, &writeset, &exceptset); for (i = 0; i < nfds; ++i) { + fds[i].revents = 0; + if (fds[i].fd < 0) continue; - fds[i].revents = 0; if (FD_ISSET(fds[i].fd, &readset)) fds[i].revents = POLLIN; if (FD_ISSET(fds[i].fd, &writeset))