X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/dffb83aa69526f532038637ab82cc3bdadb8f037..3202e2492175f02c3fe75d22b7f37fd51dde207f:/libratbox/src/ports.c diff --git a/libratbox/src/ports.c b/libratbox/src/ports.c index 353b07b7..0802e1d6 100644 --- a/libratbox/src/ports.c +++ b/libratbox/src/ports.c @@ -23,7 +23,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA * - * $Id: ports.c 25038 2008-01-23 16:03:08Z androsyn $ + * $Id: ports.c 26092 2008-09-19 15:13:52Z androsyn $ */ #include @@ -44,26 +44,26 @@ static struct timespec zero_timespec; static port_event_t *pelst; /* port buffer */ static int pemax; /* max structs to buffer */ -int -rb_setup_fd_ports(rb_fde_t *F) +int +rb_setup_fd_ports(int fd) { - return 0; + return 0; } - + static void -pe_update_events(rb_fde_t * F, short filter, PF * handler) +pe_update_events(rb_fde_t *F, short filter, PF * handler) { PF *cur_handler = NULL; - if (filter == POLLRDNORM) + if(filter == POLLRDNORM) cur_handler = F->read_handler; - else if (filter == POLLWRNORM) + else if(filter == POLLWRNORM) cur_handler = F->write_handler; - if (!cur_handler && handler) + if(!cur_handler && handler) port_associate(pe, PORT_SOURCE_FD, F->fd, filter, F); - else if (cur_handler && !handler) + else if(cur_handler && !handler) port_dissociate(pe, PORT_SOURCE_FD, F->fd); } @@ -80,7 +80,8 @@ pe_update_events(rb_fde_t * F, short filter, PF * handler) int rb_init_netio_ports(void) { - if((pe = port_create()) < 0) { + if((pe = port_create()) < 0) + { return errno; } pemax = getdtablesize(); @@ -96,18 +97,19 @@ rb_init_netio_ports(void) * and deregister interest in a pending IO state for a given FD. */ void -rb_setselect_ports(rb_fde_t *F, unsigned int type, PF * handler, - void *client_data) +rb_setselect_ports(rb_fde_t *F, unsigned int type, PF * handler, void *client_data) { lrb_assert(IsFDOpen(F)); /* Update the list, even though we're not using it .. */ - if(type & RB_SELECT_READ) { + if(type & RB_SELECT_READ) + { pe_update_events(F, POLLRDNORM, handler); F->read_handler = handler; F->read_data = client_data; } - if(type & RB_SELECT_WRITE) { + if(type & RB_SELECT_WRITE) + { pe_update_events(F, POLLWRNORM, handler); F->write_handler = handler; F->write_data = client_data; @@ -126,10 +128,10 @@ rb_setselect_ports(rb_fde_t *F, unsigned int type, PF * handler, int rb_select_ports(long delay) { - int i, fd; - uint nget = 1; -struct timespec poll_time; -struct timer_data *tdata; + int i, fd; + uint nget = 1; + struct timespec poll_time; + struct timer_data *tdata; poll_time.tv_sec = delay / 1000; poll_time.tv_nsec = (delay % 1000) * 1000000; @@ -137,21 +139,25 @@ struct timer_data *tdata; i = port_getn(pe, pelst, pemax, &nget, &poll_time); rb_set_time(); - if (i == -1) + if(i == -1) return RB_OK; - for (i = 0; i < nget; i++) { - switch(pelst[i].portev_source) { + for(i = 0; i < nget; i++) + { + switch (pelst[i].portev_source) + { case PORT_SOURCE_FD: fd = pelst[i].portev_object; PF *hdl = NULL; rb_fde_t *F = rb_find_fd(fd); - if ((pelst[i].portev_events & POLLRDNORM) && (hdl = F->read_handler)) { + if((pelst[i].portev_events & POLLRDNORM) && (hdl = F->read_handler)) + { F->read_handler = NULL; hdl(F, F->read_data); } - if ((pelst[i].portev_events & POLLWRNORM) && (hdl = F->write_handler)) { + if((pelst[i].portev_events & POLLWRNORM) && (hdl = F->write_handler)) + { F->write_handler = NULL; hdl(F, F->write_data); } @@ -162,7 +168,7 @@ struct timer_data *tdata; } #else /* ports not supported */ -int +int rb_init_netio_ports(void) { return ENOSYS; @@ -171,23 +177,23 @@ rb_init_netio_ports(void) void rb_setselect_ports(rb_fde_t *F, unsigned int type, PF * handler, void *client_data) { - errno = ENOSYS; - return; + errno = ENOSYS; + return; } - + int rb_select_ports(long delay) { - errno = ENOSYS; - return -1; + errno = ENOSYS; + return -1; } - + int rb_setup_fd_ports(rb_fde_t *F) { - errno = ENOSYS; - return -1; + errno = ENOSYS; + return -1; } - + #endif