Fix overflow on nanoseconds which was causing issues on some platforms.

This commit is contained in:
Sacha 2013-11-11 04:51:23 +10:00
parent 633e4cdc60
commit 21b63f56ff

View File

@ -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
}