Files
sicspsi/tecs/uselect.c
2008-11-10 16:19:22 +00:00

25 lines
548 B
C

#include <signal.h>
#include <errno.h>
#include <stddef.h>
#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);
}