Browse Source

pthread: timespec.tv_nsec must be less then 1000000000 ns

Anonymous Maarten 9 months ago
parent
commit
933f2fc239
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

@@ -120,7 +120,7 @@ int SDL_WaitConditionTimeoutNS(SDL_Condition *cond, SDL_Mutex *mutex, Sint64 tim
     abstime.tv_sec = delta.tv_sec + (timeoutNS / SDL_NS_PER_SECOND);
     abstime.tv_nsec = SDL_US_TO_NS(delta.tv_usec) + (timeoutNS % SDL_NS_PER_SECOND);
 #endif
-    while (abstime.tv_nsec > 1000000000) {
+    while (abstime.tv_nsec >= 1000000000) {
         abstime.tv_sec += 1;
         abstime.tv_nsec -= 1000000000;
     }

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

@@ -115,7 +115,7 @@ int SDL_WaitSemaphoreTimeoutNS(SDL_Semaphore *sem, Sint64 timeoutNS)
 #endif
 
     /* Wrap the second if needed */
-    while (ts_timeout.tv_nsec > 1000000000) {
+    while (ts_timeout.tv_nsec >= 1000000000) {
         ts_timeout.tv_sec += 1;
         ts_timeout.tv_nsec -= 1000000000;
     }