• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/unbound/util/

Lines Matching refs:base

72 settime(struct event_base* base)
74 if(gettimeofday(base->time_tv, NULL) < 0) {
78 *base->time_secs = (time_t)base->time_tv->tv_sec;
88 * @param base: event base to look in.
93 find_fd(struct event_base* base, int fd)
96 for(i=0; i<base->max; i++) {
97 if(base->items[i]->ev_fd == fd)
104 /** Find ptr in base array */
117 struct event_base* base = (struct event_base*)malloc(
119 if(!base)
121 memset(base, 0, sizeof(*base));
122 base->time_secs = time_secs;
123 base->time_tv = time_tv;
124 if(settime(base) < 0) {
125 event_base_free(base);
128 base->items = (struct event**)calloc(WSK_MAX_ITEMS,
130 if(!base->items) {
131 event_base_free(base);
134 base->cap = WSK_MAX_ITEMS;
135 base->max = 0;
136 base->times = rbtree_create(mini_ev_cmp);
137 if(!base->times) {
138 event_base_free(base);
141 base->signals = (struct event**)calloc(MAX_SIG, sizeof(struct event*));
142 if(!base->signals) {
143 event_base_free(base);
146 base->tcp_stickies = 0;
147 base->tcp_reinvigorated = 0;
149 return base;
163 static void handle_timeouts(struct event_base* base, struct timeval* now,
172 while((rbnode_type*)(p = (struct event*)rbtree_first(base->times))
194 (void)rbtree_delete(base->times, p);
230 static int handle_select(struct event_base* base, struct timeval* wait)
247 if(base->tcp_stickies) {
256 for(i=0; i<base->max; i++) {
257 if(base->items[i]->ev_fd == -1 && !base->items[i]->is_signal)
259 eventlist[numwait] = base->items[i];
260 base->waitfor[numwait++] = base->items[i]->hEvent;
266 "timeout=%d", base->max, numwait, (wait?"<wait>":"<null>"),
277 ret = WSAWaitForMultipleEvents(numwait, base->waitfor,
297 if(settime(base) < 0)
301 if(base->tcp_stickies)
308 if(!base->waitfor[i])
316 if(base->need_to_exit)
325 if(!base->waitfor[i])
334 base->waitfor[i], /* reset the event handle */
419 if(base->tcp_reinvigorated) {
421 base->tcp_reinvigorated = 0;
424 base->tcp_stickies = newstickies;
429 int event_base_dispatch(struct event_base *base)
432 if(settime(base) < 0)
434 while(!base->need_to_exit)
437 handle_timeouts(base, base->time_tv, &wait);
438 if(base->need_to_exit)
441 if(handle_select(base, &wait) < 0) {
442 if(base->need_to_exit)
450 int event_base_loopexit(struct event_base *base,
454 base->need_to_exit = 1;
458 void event_base_free(struct event_base *base)
461 if(!base)
463 free(base->items);
464 free(base->times);
465 free(base->signals);
466 free(base);
482 int event_base_set(struct event_base *base, struct event *ev)
484 ev->ev_base = base;
609 /** which base gets to handle signals */
654 * possibly run an empty handler loop to reset the base
659 int winsock_register_wsaevent(struct event_base* base, struct event* ev,
662 if(base->max == base->cap)
672 ev->ev_base = base;