From f3c57ee343f86726b99079c600af200248f09f5a Mon Sep 17 00:00:00 2001 From: Alcaro Date: Sun, 15 Oct 2017 23:24:51 +0200 Subject: [PATCH] Don't allow more than a billion nanoseconds --- libretro-common/rthreads/rthreads.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libretro-common/rthreads/rthreads.c b/libretro-common/rthreads/rthreads.c index 0df8eae87d..b6b661c409 100644 --- a/libretro-common/rthreads/rthreads.c +++ b/libretro-common/rthreads/rthreads.c @@ -819,6 +819,12 @@ bool scond_wait_timeout(scond_t *cond, slock_t *lock, int64_t timeout_us) now.tv_sec += seconds; now.tv_nsec += remainder * INT64_C(1000); + + if (now.tv_nsec > 1000000000) + { + now.tv_nsec -= 1000000000; + now.tv_sec += 1; + } ret = pthread_cond_timedwait(&cond->cond, &lock->lock, &now); return (ret == 0);