/* * Checks to see if there are buffers to process */ isc_boolean_t has_full_recv_buffer(void) { if (HEAD_FIFO(full_recv_fifo) != NULL) return (ISC_TRUE); else return (ISC_FALSE); }
/* * purge_recv_buffers_for_fd() - purges any previously-received input * from a given file descriptor. */ void purge_recv_buffers_for_fd( int fd ) { recvbuf_t *rbufp; recvbuf_t *next; recvbuf_t *punlinked; LOCK(); for (rbufp = HEAD_FIFO(full_recv_fifo); rbufp != NULL; rbufp = next) { next = rbufp->link; # ifdef HAVE_IO_COMPLETION_PORT if (rbufp->dstadr == NULL && rbufp->fd == fd) # else if (rbufp->fd == fd) # endif { UNLINK_MID_FIFO(punlinked, full_recv_fifo, rbufp, link, recvbuf_t); INSIST(punlinked == rbufp); full_recvbufs--; freerecvbuf(rbufp); } } UNLOCK(); }
/* * purge_recv_buffers_for_fd() - purges any previously-received input * from a given file descriptor. */ void purge_recv_buffers_for_fd( SOCKET fd ) { recvbuf_t *rbufp; recvbuf_t *next; recvbuf_t *punlinked; LOCK(); for (rbufp = HEAD_FIFO(full_recv_fifo); rbufp != NULL; rbufp = next) { next = rbufp->link; if (rbufp->fd == fd) { UNLINK_MID_FIFO(punlinked, full_recv_fifo, rbufp, link, recvbuf_t); INSIST(punlinked == rbufp); full_recvbufs--; freerecvbuf(rbufp); } } UNLOCK(); }
/* * Checks to see if there are buffers to process */ bool has_full_recv_buffer(void) { if (HEAD_FIFO(full_recv_fifo) != NULL) return (true); else return (false); }