diff options
Diffstat (limited to 'mutex.h')
-rw-r--r-- | mutex.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -44,12 +44,12 @@ inline int mutex_init(uint32_t *futex) { inline void mutex_lock(uint32_t *futex) { uint32_t val; while ((val = __sync_lock_test_and_set(futex, 1))) - syscall(SYS_futex, futex, FUTEX_WAIT, val, 0, 0, 0); + syscall(SYS_futex, futex, FUTEX_PRIVATE_FLAG | FUTEX_WAIT, val, 0, 0, 0); } inline void mutex_unlock(uint32_t *futex) { __sync_lock_release(futex); - syscall(SYS_futex, futex, FUTEX_WAKE, 1, 0, 0, 0); + syscall(SYS_futex, futex, FUTEX_PRIVATE_FLAG | FUTEX_WAKE, 1, 0, 0, 0); } inline void mutex_destroy(uint32_t *futex) { |