Browse Source

pthread: timespec.tv_nsec must be less then 1000000000 ns

(cherry picked from commit 1ef041a2cae35fc68364c179bb7e7e25055f0b8f)
Anonymous Maarten 9 months ago
parent
commit
fe9020dcb8
2 changed files with 2 additions and 2 deletions
  1. 1 1
      src/thread/pthread/SDL_syscond.c
  2. 1 1
      src/thread/pthread/SDL_syssem.c

+ 1 - 1
src/thread/pthread/SDL_syscond.c

@@ -114,7 +114,7 @@ int SDL_CondWaitTimeout(SDL_cond *cond, SDL_mutex *mutex, Uint32 ms)
     abstime.tv_sec = delta.tv_sec + (ms / 1000);
     abstime.tv_nsec = (long)(delta.tv_usec + (ms % 1000) * 1000) * 1000;
 #endif
-    if (abstime.tv_nsec > 1000000000) {
+    if (abstime.tv_nsec >= 1000000000) {
         abstime.tv_sec += 1;
         abstime.tv_nsec -= 1000000000;
     }

+ 1 - 1
src/thread/pthread/SDL_syssem.c

@@ -141,7 +141,7 @@ int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)
 #endif
 
     /* Wrap the second if needed */
-    if (ts_timeout.tv_nsec > 1000000000) {
+    if (ts_timeout.tv_nsec >= 1000000000) {
         ts_timeout.tv_sec += 1;
         ts_timeout.tv_nsec -= 1000000000;
     }