#include #include #include #include "uselect.h" /* an uninterruptable version of select. M.Z. Oct 2008 */ int uselect(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout) { sigset_t sigmask; struct timespec tmo, *tmoPtr; sigfillset(&sigmask); if (timeout) { tmo.tv_sec = timeout->tv_sec; tmo.tv_nsec = timeout->tv_usec * 1000; tmoPtr = &tmo; } else { tmoPtr = NULL; } return pselect(nfds, readfds, writefds, exceptfds, tmoPtr, &sigmask); }