diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/ppoll.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/common/ppoll.h b/common/ppoll.h index d9096901..7d09d44d 100644 --- a/common/ppoll.h +++ b/common/ppoll.h @@ -7,5 +7,10 @@ static inline int compat_ppoll(struct pollfd *fds, nfds_t nfds, const struct timespec *timeout, const sigset_t *sigmask) { - return poll(fds, nfds, timeout ? timeout->tv_sec * 1000 : 500); + if (timeout == NULL) + return poll(fds, nfds, -1); + else if (timeout->tv_sec == 0) + return poll(fds, nfds, 500); + else + return poll(fds, nfds, timeout->tv_sec * 1000); } |