From 70c6fd82c33b0fb34a92010a888d2e4e3168b169 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 11 Nov 2012 21:02:34 +0100 Subject: [PATCH] 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. --- include/proto/fd.h | 16 ---------------- include/types/fd.h | 10 ++-------- src/ev_epoll.c | 8 +------- src/ev_kqueue.c | 8 +------- src/ev_poll.c | 7 +------ src/ev_select.c | 7 +------ 6 files changed, 6 insertions(+), 50 deletions(-) diff --git a/include/proto/fd.h b/include/proto/fd.h index e72c43ff8..127cbe08d 100644 --- a/include/proto/fd.h +++ b/include/proto/fd.h @@ -130,8 +130,6 @@ static inline void release_spec_entry(int fd) */ 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 @@ static inline void fd_ev_rem(const int fd) /* 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 fab0c6c64..56a8c5c28 100644 --- a/include/types/fd.h +++ b/include/types/fd.h @@ -92,18 +92,12 @@ struct fdinfo { * poller should set it to 100. * - 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 */ struct poller { void *private; /* any private data for the poller */ - int REGPRM2 (*is_set)(const int fd, int dir); /* check if is being polled for dir */ - void REGPRM2 (*set)(const int fd, int dir); /* set polling on for */ - void REGPRM2 (*clr)(const int fd, int dir); /* clear polling on for */ - void REGPRM2 (*wai)(const int fd, int dir); /* wait for polling on for */ - void REGPRM1 (*rem)(const int fd); /* remove any polling on */ - void REGPRM1 (*clo)(const int fd); /* mark as closed */ + void REGPRM1 (*clo)(const int fd); /* mark 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 62718d650..870da105d 100644 --- a/src/ev_epoll.c +++ b/src/ev_epoll.c @@ -309,18 +309,12 @@ static void _do_register(void) 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 4ede2ecbc..54c52c2ec 100644 --- a/src/ev_kqueue.c +++ b/src/ev_kqueue.c @@ -258,18 +258,12 @@ static void _do_register(void) 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 7ebb8a25a..2ce4815d6 100644 --- a/src/ev_poll.c +++ b/src/ev_poll.c @@ -254,16 +254,11 @@ static void _do_register(void) 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 a4fe3d739..0ac74e71d 100644 --- a/src/ev_select.c +++ b/src/ev_select.c @@ -252,16 +252,11 @@ static void _do_register(void) 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; }