Explorar o código

LibPthread: Fix asserting futex return value

FUTEX_WAIT returns the number of threads woken (if any).

Fixes #5032
Tom %!s(int64=4) %!d(string=hai) anos
pai
achega
9943816e83
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      Userland/Libraries/LibPthread/pthread.cpp

+ 2 - 2
Userland/Libraries/LibPthread/pthread.cpp

@@ -552,7 +552,7 @@ int pthread_cond_signal(pthread_cond_t* cond)
     u32 value = cond->previous + 1;
     cond->value = value;
     int rc = futex(&cond->value, FUTEX_WAKE, 1, nullptr, nullptr, 0);
-    ASSERT(rc == 0);
+    ASSERT(rc >= 0);
     return 0;
 }
 
@@ -561,7 +561,7 @@ int pthread_cond_broadcast(pthread_cond_t* cond)
     u32 value = cond->previous + 1;
     cond->value = value;
     int rc = futex(&cond->value, FUTEX_WAKE, INT32_MAX, nullptr, nullptr, 0);
-    ASSERT(rc == 0);
+    ASSERT(rc >= 0);
     return 0;
 }