From 4ce1c246106a15a6222d59b78a004ab5892ebb49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20O=2E=20Sel=C3=A5sdal?= Date: Tue, 10 Nov 2015 21:35:16 +0100 Subject: [PATCH] Enable specifying no events when registring with the iomux --- src/iomux_epoll.c | 12 +----------- src/iomux_select.c | 2 +- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/iomux_epoll.c b/src/iomux_epoll.c index 0b023ef..d18e227 100644 --- a/src/iomux_epoll.c +++ b/src/iomux_epoll.c @@ -59,16 +59,6 @@ static int iomux_epoll_update_events(struct IOMux *mux_, struct IOMuxFD *fd) struct epoll_event e_event = {0, {0}}; int rc; - //if we EPOLL_CTL_MOD with events of 0, epoll - //will still wait for HUP/ERR , which can lead to - //strange things. (e.g. updating fd->what to 0 on a pipe - //in order to try to "pause" reading can lead to missing or false - //read events. - assert(fd->what != 0); - if (fd->what == 0) - return EINVAL; - - e_event.events = mux_2_epoll_events(fd->what); e_event.data.ptr = fd; @@ -86,7 +76,7 @@ static int iomux_epoll_register_fd(struct IOMux *mux_, struct IOMuxFD *fd) struct epoll_event e_event = {0, {0}}; int rc; - if (fd->what == 0 || fd->callback == NULL) + if (fd->callback == NULL) return EINVAL; e_event.events = mux_2_epoll_events(fd->what); diff --git a/src/iomux_select.c b/src/iomux_select.c index bdf0029..488450b 100644 --- a/src/iomux_select.c +++ b/src/iomux_select.c @@ -65,7 +65,7 @@ static int iomux_select_register_fd(struct IOMux *mux_, struct IOMuxFD *fd) struct IOMuxSelect *mux = mux_->instance; int rc; - if ((fd->what & MUX_EV_MASK) == 0 || fd->callback == NULL) + if (fd->callback == NULL) return EINVAL; rc = iomux_select_update_events(mux_, fd);