| Index: fusl/src/select/poll.c
|
| diff --git a/fusl/src/select/poll.c b/fusl/src/select/poll.c
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9e0bcbd804f329031e6040b566290eb96e8b802a
|
| --- /dev/null
|
| +++ b/fusl/src/select/poll.c
|
| @@ -0,0 +1,16 @@
|
| +#include <poll.h>
|
| +#include <time.h>
|
| +#include <signal.h>
|
| +#include "syscall.h"
|
| +#include "libc.h"
|
| +
|
| +int poll(struct pollfd *fds, nfds_t n, int timeout)
|
| +{
|
| +#ifdef SYS_poll
|
| + return syscall_cp(SYS_poll, fds, n, timeout);
|
| +#else
|
| + return syscall_cp(SYS_ppoll, fds, n, timeout>=0 ?
|
| + &((struct timespec){ .tv_sec = timeout/1000,
|
| + .tv_nsec = timeout%1000*1000000 }) : 0, 0, _NSIG/8);
|
| +#endif
|
| +}
|
|
|