From 21b63f56ff7838b42ab6bc79ea5e515f0c312e70 Mon Sep 17 00:00:00 2001 From: Sacha Date: Mon, 11 Nov 2013 04:51:23 +1000 Subject: [PATCH] Fix overflow on nanoseconds which was causing issues on some platforms. --- base/mutex.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/base/mutex.h b/base/mutex.h index 89e40a7185..79072ad7cf 100644 --- a/base/mutex.h +++ b/base/mutex.h @@ -215,7 +215,7 @@ public: clock_gettime(CLOCK_REALTIME, &timeout); #endif timeout.tv_sec += milliseconds / 1000; - timeout.tv_nsec += milliseconds * 1000000; + timeout.tv_nsec += (milliseconds % 1000) * 1000000; pthread_mutex_lock(&mtx.native_handle()); pthread_cond_timedwait(&event_, &mtx.native_handle(), &timeout); pthread_mutex_unlock(&mtx.native_handle()); @@ -321,7 +321,7 @@ public: clock_gettime(CLOCK_REALTIME, &timeout); #endif timeout.tv_sec += milliseconds / 1000; - timeout.tv_nsec += milliseconds * 1000000; + timeout.tv_nsec += (milliseconds % 1000) * 1000000; pthread_cond_timedwait(&event_, &mtx.native_handle(), &timeout); #endif }