Lines Matching refs:dispr
89 dispatcher_init(Dispatcher *dispr) in dispatcher_init() argument
91 FD_ZERO(&dispr->fdset); in dispatcher_init()
92 dispr->max_sock = -1; in dispatcher_init()
97 dispatcher_add(Dispatcher *dispr, int sock, void *ctx, CallbackFunc cb) in dispatcher_add() argument
106 dispr->events[sock].ctx = ctx; in dispatcher_add()
107 dispr->events[sock].callback = cb; in dispatcher_add()
109 FD_SET(sock, &dispr->fdset); in dispatcher_add()
110 if (sock > dispr->max_sock) { in dispatcher_add()
111 dispr->max_sock = sock; in dispatcher_add()
114 sock, dispr->max_sock); in dispatcher_add()
119 dispatcher_remove(Dispatcher *dispr, int sock) in dispatcher_remove() argument
128 FD_CLR(sock, &dispr->fdset); in dispatcher_remove()
135 dispatcher_wait(Dispatcher *dispr, uint32_t timeout) in dispatcher_wait() argument
141 fd_set fdset = dispr->fdset; in dispatcher_wait()
144 int rc = select(dispr->max_sock + 1, &fdset, 0, 0, &tv); in dispatcher_wait()
158 for (sock = 0; sock < dispr->max_sock + 1; sock++) { in dispatcher_wait()
163 if (FD_ISSET(sock, &fdset) && FD_ISSET(sock, &dispr->fdset)) { in dispatcher_wait()
164 Event *e = &dispr->events[sock]; in dispatcher_wait()