Changeset View
Changeset View
Standalone View
Standalone View
head/usr.sbin/ypldap/yp.c
Show First 20 Lines • Show All 77 Lines • ▼ Show 20 Lines | while ((ye = TAILQ_FIRST(&env->sc_yp->yd_events)) != NULL) { | ||||
free(ye); | free(ye); | ||||
} | } | ||||
} | } | ||||
void | void | ||||
yp_enable_events(void) | yp_enable_events(void) | ||||
{ | { | ||||
int i; | int i; | ||||
extern fd_set svc_fdset; | |||||
struct yp_event *ye; | struct yp_event *ye; | ||||
for (i = 0; i < FD_SETSIZE; i++) { | for (i = 0; i < getdtablesize(); i++) { | ||||
if (FD_ISSET(i, &svc_fdset)) { | |||||
if ((ye = calloc(1, sizeof(*ye))) == NULL) | if ((ye = calloc(1, sizeof(*ye))) == NULL) | ||||
fatal(NULL); | fatal(NULL); | ||||
event_set(&ye->ye_event, i, EV_READ, yp_fd_event, NULL); | event_set(&ye->ye_event, i, EV_READ, yp_fd_event, NULL); | ||||
event_add(&ye->ye_event, NULL); | event_add(&ye->ye_event, NULL); | ||||
TAILQ_INSERT_TAIL(&env->sc_yp->yd_events, ye, ye_entry); | TAILQ_INSERT_TAIL(&env->sc_yp->yd_events, ye, ye_entry); | ||||
} | |||||
} | } | ||||
} | } | ||||
void | void | ||||
yp_fd_event(int fd, short event, void *p) | yp_fd_event(int fd, short event, void *p) | ||||
{ | { | ||||
svc_getreq_common(fd); | svc_getreq_common(fd); | ||||
yp_disable_events(); | yp_disable_events(); | ||||
▲ Show 20 Lines • Show All 548 Lines • Show Last 20 Lines |