#include #include "syscall.h" #include "libc.h" int select(int n, fd_set *restrict rfds, fd_set *restrict wfds, fd_set *restrict efds, struct timeval *restrict tv) { #ifdef SYS_select return syscall_cp(SYS_select, n, rfds, wfds, efds, tv); #else long data[2] = { 0, _NSIG/8 }; struct timespec ts; if (tv) { ts.tv_sec = tv->tv_sec; ts.tv_nsec = tv->tv_usec * 1000; } return syscall_cp(SYS_pselect6, n, rfds, wfds, efds, tv ? &ts : 0, data); #endif }