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.
This commit is contained in:
Willy Tarreau 2012-11-11 21:02:34 +01:00
parent e9f49e78fe
commit 70c6fd82c3
6 changed files with 6 additions and 50 deletions

View File

@ -130,8 +130,6 @@ static inline void release_spec_entry(int fd)
*/ */
static inline int fd_ev_is_set(const int fd, int dir) 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; 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 */ /* event manipulation primitives for use by I/O callbacks */
static inline void fd_want_recv(int fd) 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); return fd_ev_set(fd, DIR_RD);
} }
static inline void fd_stop_recv(int fd) 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); return fd_ev_clr(fd, DIR_RD);
} }
static inline void fd_poll_recv(int fd) 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); return fd_ev_wai(fd, DIR_RD);
} }
static inline void fd_want_send(int fd) 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); return fd_ev_set(fd, DIR_WR);
} }
static inline void fd_stop_send(int fd) 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); return fd_ev_clr(fd, DIR_WR);
} }
static inline void fd_poll_send(int fd) 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); return fd_ev_wai(fd, DIR_WR);
} }
static inline void fd_stop_both(int fd) static inline void fd_stop_both(int fd)
{ {
if (cur_poller.rem)
return cur_poller.rem(fd);
return fd_ev_rem(fd); return fd_ev_rem(fd);
} }

View File

@ -92,17 +92,11 @@ struct fdinfo {
* poller should set it to 100. * poller should set it to 100.
* - <private> is initialized by the poller's init() function, and cleaned by * - <private> is initialized by the poller's init() function, and cleaned by
* the term() function. * the term() function.
* - clo() should be used to do indicate the poller that fd will be closed. It * - clo() should be used to do indicate the poller that fd will be closed.
* may be the same as rem() on some pollers.
* - poll() calls the poller, expiring at <exp> * - poll() calls the poller, expiring at <exp>
*/ */
struct poller { struct poller {
void *private; /* any private data for the 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 */ void REGPRM2 (*poll)(struct poller *p, int exp); /* the poller itself */
int REGPRM1 (*init)(struct poller *p); /* poller initialization */ int REGPRM1 (*init)(struct poller *p); /* poller initialization */

View File

@ -309,18 +309,12 @@ static void _do_register(void)
p->pref = 300; p->pref = 300;
p->private = NULL; p->private = NULL;
p->clo = NULL;
p->test = _do_test; p->test = _do_test;
p->init = _do_init; p->init = _do_init;
p->term = _do_term; p->term = _do_term;
p->poll = _do_poll; p->poll = _do_poll;
p->fork = _do_fork; p->fork = _do_fork;
p->is_set = NULL;
p->set = NULL;
p->wai = NULL;
p->clr = NULL;
p->rem = NULL;
p->clo = NULL;
} }

View File

@ -258,18 +258,12 @@ static void _do_register(void)
p->pref = 300; p->pref = 300;
p->private = NULL; p->private = NULL;
p->clo = NULL;
p->test = _do_test; p->test = _do_test;
p->init = _do_init; p->init = _do_init;
p->term = _do_term; p->term = _do_term;
p->poll = _do_poll; p->poll = _do_poll;
p->fork = _do_fork; p->fork = _do_fork;
p->is_set = NULL;
p->set = NULL;
p->wai = NULL;
p->clr = NULL;
p->rem = NULL;
p->clo = NULL;
} }

View File

@ -254,16 +254,11 @@ static void _do_register(void)
p->pref = 200; p->pref = 200;
p->private = NULL; p->private = NULL;
p->clo = __fd_clo;
p->test = _do_test; p->test = _do_test;
p->init = _do_init; p->init = _do_init;
p->term = _do_term; p->term = _do_term;
p->poll = _do_poll; p->poll = _do_poll;
p->is_set = NULL;
p->set = NULL;
p->wai = NULL;
p->clr = NULL;
p->rem = NULL;
p->clo = __fd_clo;
} }

View File

@ -252,16 +252,11 @@ static void _do_register(void)
p->pref = 150; p->pref = 150;
p->private = NULL; p->private = NULL;
p->clo = __fd_clo;
p->test = _do_test; p->test = _do_test;
p->init = _do_init; p->init = _do_init;
p->term = _do_term; p->term = _do_term;
p->poll = _do_poll; p->poll = _do_poll;
p->is_set = NULL;
p->set = NULL;
p->wai = NULL;
p->clr = NULL;
p->rem = NULL;
p->clo = __fd_clo;
} }