aboutsummaryrefslogtreecommitdiff
path: root/mutex.h
diff options
context:
space:
mode:
authorTest_User <hax@andrewyu.org>2024-06-19 08:48:20 -0400
committerTest_User <hax@andrewyu.org>2024-06-19 08:48:20 -0400
commitab45d828cea484f72ec8573a29524894eb9b24ac (patch)
treed96114631cd6d9054ca65d76a3dda32a016e7a03 /mutex.h
parentc3d40c8d4671c59414c737b00cc55eb5d44992c9 (diff)
downloadhaxircd-ab45d828cea484f72ec8573a29524894eb9b24ac.tar.gz
haxircd-ab45d828cea484f72ec8573a29524894eb9b24ac.zip
Mark futexes as private since it's all same-process, fix timeout on plaintext connections
Diffstat (limited to 'mutex.h')
-rw-r--r--mutex.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/mutex.h b/mutex.h
index 56f8a42..b0182a2 100644
--- a/mutex.h
+++ b/mutex.h
@@ -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) {