| OLD | NEW |
| 1 #include <poll.h> | 1 #include <poll.h> |
| 2 #include <time.h> | 2 #include <time.h> |
| 3 #include <signal.h> | 3 #include <signal.h> |
| 4 #include "syscall.h" | 4 #include "syscall.h" |
| 5 #include "libc.h" | 5 #include "libc.h" |
| 6 | 6 |
| 7 int poll(struct pollfd *fds, nfds_t n, int timeout) | 7 int poll(struct pollfd* fds, nfds_t n, int timeout) { |
| 8 { | |
| 9 #ifdef SYS_poll | 8 #ifdef SYS_poll |
| 10 » return syscall_cp(SYS_poll, fds, n, timeout); | 9 return syscall_cp(SYS_poll, fds, n, timeout); |
| 11 #else | 10 #else |
| 12 » return syscall_cp(SYS_ppoll, fds, n, timeout>=0 ? | 11 return syscall_cp( |
| 13 » » &((struct timespec){ .tv_sec = timeout/1000, | 12 SYS_ppoll, fds, n, |
| 14 » » .tv_nsec = timeout%1000*1000000 }) : 0, 0, _NSIG/8); | 13 timeout >= 0 |
| 14 ? &((struct timespec){.tv_sec = timeout / 1000, |
| 15 .tv_nsec = timeout % 1000 * 1000000}) |
| 16 : 0, |
| 17 0, _NSIG / 8); |
| 15 #endif | 18 #endif |
| 16 } | 19 } |
| OLD | NEW |