From: Ben Greear Date: Sun, 24 Jun 2012 10:19:34 +0000 (+0300) Subject: eloop/poll: Handle POLLER | POLLHUP in read logic X-Git-Tag: hostap_2_0~613 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f115560c21db876be8a6272f389c02034eccbdcb;p=thirdparty%2Fhostap.git eloop/poll: Handle POLLER | POLLHUP in read logic Without this, we can get into a tight loop because the code in general doesn't add eloop exception handlers, so socket reporting the POLLERR would never be read. With this change, any socket with POLLERR or POLLHUP asserted will be handled by the read logic. Signed-hostap: Ben Greear --- diff --git a/src/utils/eloop.c b/src/utils/eloop.c index 5691f1544..b50ea92fc 100644 --- a/src/utils/eloop.c +++ b/src/utils/eloop.c @@ -350,7 +350,8 @@ static void eloop_sock_table_dispatch(struct eloop_sock_table *readers, int max_pollfd_map) { if (eloop_sock_table_dispatch_table(readers, pollfds_map, - max_pollfd_map, POLLIN)) + max_pollfd_map, POLLIN | POLLERR | + POLLHUP)) return; /* pollfds may be invalid at this point */ if (eloop_sock_table_dispatch_table(writers, pollfds_map,