pfd.events = POLLOUT;
pfd.fd = fd;
pfd.revents = 0;
- LOCK(&thread->fdlock[lockid]);
if (write(thread->devpoll_fd, &pfd, sizeof(pfd)) == -1)
result = isc__errno2result(errno);
else {
else
thread->fdpollinfo[fd].want_write = 1;
}
- UNLOCK(&thread->fdlock[lockid]);
return (result);
#elif defined(USE_SELECT)
* only provides a way of canceling per FD, we may need to re-poll the
* socket for the other operation.
*/
- LOCK(&thread->fdlock[lockid]);
if (msg == SELECT_POKE_READ &&
thread->fdpollinfo[fd].want_write == 1) {
pfds[1].events = POLLOUT;
else
thread->fdpollinfo[fd].want_write = 0;
}
- UNLOCK(&thread->fdlock[lockid]);
return (result);
#elif defined(USE_SELECT)
dev = ISC_LIST_HEAD(sock->recv_list);
if (dev == NULL) {
goto finish;
- return;
}
socket_log(sock, NULL, IOEVENT,