diff --git a/include/proto/fd.h b/include/proto/fd.h
index e72c43f..127cbe0 100644
--- a/include/proto/fd.h
+++ b/include/proto/fd.h
@@ -130,8 +130,6 @@
  */
 static inline int fd_ev_is_set(const int fd, int dir)
 {
-	if (cur_poller.is_set)
-		return cur_poller.is_set(fd, dir);
 	return ((unsigned)fdtab[fd].spec_e >> dir) & FD_EV_STATUS;
 }
 
@@ -189,50 +187,36 @@
 /* event manipulation primitives for use by I/O callbacks */
 static inline void fd_want_recv(int fd)
 {
-	if (cur_poller.set)
-		return cur_poller.set(fd, DIR_RD);
 	return fd_ev_set(fd, DIR_RD);
 }
 
 static inline void fd_stop_recv(int fd)
 {
-	if (cur_poller.clr)
-		return cur_poller.clr(fd, DIR_RD);
 	return fd_ev_clr(fd, DIR_RD);
 }
 
 static inline void fd_poll_recv(int fd)
 {
-	if (cur_poller.wai)
-		return cur_poller.wai(fd, DIR_RD);
 	return fd_ev_wai(fd, DIR_RD);
 }
 
 static inline void fd_want_send(int fd)
 {
-	if (cur_poller.set)
-		return cur_poller.set(fd, DIR_WR);
 	return fd_ev_set(fd, DIR_WR);
 }
 
 static inline void fd_stop_send(int fd)
 {
-	if (cur_poller.clr)
-		return cur_poller.clr(fd, DIR_WR);
 	return fd_ev_clr(fd, DIR_WR);
 }
 
 static inline void fd_poll_send(int fd)
 {
-	if (cur_poller.wai)
-		return cur_poller.wai(fd, DIR_WR);
 	return fd_ev_wai(fd, DIR_WR);
 }
 
 static inline void fd_stop_both(int fd)
 {
-	if (cur_poller.rem)
-		return cur_poller.rem(fd);
 	return fd_ev_rem(fd);
 }
 
diff --git a/include/types/fd.h b/include/types/fd.h
index fab0c6c..56a8c5c 100644
--- a/include/types/fd.h
+++ b/include/types/fd.h
@@ -92,18 +92,12 @@
  *    poller should set it to 100.
  *  - <private> is initialized by the poller's init() function, and cleaned by
  *    the term() function.
- *  - clo() should be used to do indicate the poller that fd will be closed. It
- *    may be the same as rem() on some pollers.
+ *  - clo() should be used to do indicate the poller that fd will be closed.
  *  - poll() calls the poller, expiring at <exp>
  */
 struct poller {
 	void   *private;                                     /* any private data for the poller */
-	int  REGPRM2 (*is_set)(const int fd, int dir);       /* check if <fd> is being polled for dir <dir> */
-	void REGPRM2    (*set)(const int fd, int dir);       /* set   polling on <fd> for <dir> */
-	void REGPRM2    (*clr)(const int fd, int dir);       /* clear polling on <fd> for <dir> */
-	void REGPRM2    (*wai)(const int fd, int dir);       /* wait for polling on <fd> for <dir> */
-	void REGPRM1    (*rem)(const int fd);                /* remove any polling on <fd> */
-	void REGPRM1    (*clo)(const int fd);                /* mark <fd> as closed */
+	void REGPRM1   (*clo)(const int fd);                 /* mark <fd> as closed */
     	void REGPRM2   (*poll)(struct poller *p, int exp);   /* the poller itself */
 	int  REGPRM1   (*init)(struct poller *p);            /* poller initialization */
 	void REGPRM1   (*term)(struct poller *p);            /* termination of this poller */
diff --git a/src/ev_epoll.c b/src/ev_epoll.c
index 62718d6..870da10 100644
--- a/src/ev_epoll.c
+++ b/src/ev_epoll.c
@@ -309,18 +309,12 @@
 	p->pref = 300;
 	p->private = NULL;
 
+	p->clo  = NULL;
 	p->test = _do_test;
 	p->init = _do_init;
 	p->term = _do_term;
 	p->poll = _do_poll;
 	p->fork = _do_fork;
-
-	p->is_set  = NULL;
-	p->set = NULL;
-	p->wai = NULL;
-	p->clr = NULL;
-	p->rem = NULL;
-	p->clo = NULL;
 }
 
 
diff --git a/src/ev_kqueue.c b/src/ev_kqueue.c
index 4ede2ec..54c52c2 100644
--- a/src/ev_kqueue.c
+++ b/src/ev_kqueue.c
@@ -258,18 +258,12 @@
 	p->pref = 300;
 	p->private = NULL;
 
+	p->clo  = NULL;
 	p->test = _do_test;
 	p->init = _do_init;
 	p->term = _do_term;
 	p->poll = _do_poll;
 	p->fork = _do_fork;
-
-	p->is_set = NULL;
-	p->set = NULL;
-	p->wai = NULL;
-	p->clr = NULL;
-	p->rem = NULL;
-	p->clo = NULL;
 }
 
 
diff --git a/src/ev_poll.c b/src/ev_poll.c
index 7ebb8a2..2ce4815 100644
--- a/src/ev_poll.c
+++ b/src/ev_poll.c
@@ -254,16 +254,11 @@
 	p->pref = 200;
 	p->private = NULL;
 
+	p->clo  = __fd_clo;
 	p->test = _do_test;
 	p->init = _do_init;
 	p->term = _do_term;
 	p->poll = _do_poll;
-	p->is_set = NULL;
-	p->set = NULL;
-	p->wai = NULL;
-	p->clr = NULL;
-	p->rem = NULL;
-	p->clo = __fd_clo;
 }
 
 
diff --git a/src/ev_select.c b/src/ev_select.c
index a4fe3d7..0ac74e7 100644
--- a/src/ev_select.c
+++ b/src/ev_select.c
@@ -252,16 +252,11 @@
 	p->pref = 150;
 	p->private = NULL;
 
+	p->clo  = __fd_clo;
 	p->test = _do_test;
 	p->init = _do_init;
 	p->term = _do_term;
 	p->poll = _do_poll;
-	p->is_set = NULL;
-	p->set = NULL;
-	p->wai = NULL;
-	p->clr = NULL;
-	p->rem = NULL;
-	p->clo = __fd_clo;
 }
 
 
