From 747129ae536f51b52cac4a8793a3613dc2467850 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 19 Jul 2015 15:21:00 +0000 Subject: [PATCH] thread.c: fix timeout limit * thread.c (ppoll): fix the limit, timeout argument of poll(2) is an int but not a time_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- thread.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/thread.c b/thread.c index 7bef5eb919..46976e5992 100644 --- a/thread.c +++ b/thread.c @@ -3622,15 +3622,15 @@ ppoll(struct pollfd *fds, nfds_t nfds, if (ts) { int tmp, tmp2; - if (ts->tv_sec > TIMET_MAX/1000) + if (ts->tv_sec > INT_MAX/1000) timeout_ms = -1; else { - tmp = ts->tv_sec * 1000; - tmp2 = ts->tv_nsec / (1000 * 1000); - if (TIMET_MAX - tmp < tmp2) + tmp = (int)(ts->tv_sec * 1000); + tmp2 = (int)(ts->tv_nsec / (1000 * 1000)); + if (INT_MAX - tmp < tmp2) timeout_ms = -1; else - timeout_ms = tmp + tmp2; + timeout_ms = (int)(tmp + tmp2); } } else