diff options
| -rw-r--r-- | src/select/poll.c | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/src/select/poll.c b/src/select/poll.c index c84c8a99..7883dfab 100644 --- a/src/select/poll.c +++ b/src/select/poll.c @@ -8,8 +8,13 @@ int poll(struct pollfd *fds, nfds_t n, int timeout)  #ifdef SYS_poll  	return syscall_cp(SYS_poll, fds, n, timeout);  #else +#if SYS_ppoll_time64 == SYS_ppoll +	typedef long long ppoll_ts_t[2]; +#else +	typedef long ppoll_ts_t[2]; +#endif  	return syscall_cp(SYS_ppoll, fds, n, timeout>=0 ? -		&((struct timespec){ .tv_sec = timeout/1000, -		.tv_nsec = timeout%1000*1000000 }) : 0, 0, _NSIG/8); +		((ppoll_ts_t){ timeout/1000, timeout%1000*1000000 }) : 0, +		0, _NSIG/8);  #endif  } | 
