diff options
| -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);  } | 
