MAJOR: polling: remove unused callbacks from the poller struct
Since no poller uses poller->{set,clr,wai,is_set,rem} anymore, let's
remove them and remove the associated pointer tests in proto/fd.h.
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;
}