aboutsummaryrefslogtreecommitdiff
path: root/core/sync/sync2
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-10-11 16:40:23 +0100
committergingerBill <bill@gingerbill.org>2021-10-11 16:40:23 +0100
commitd97c6a765763e1730cecda2851340cfded7e08c9 (patch)
treef302e70bb7dd01a4352e0327625dc958d8c4f8a2 /core/sync/sync2
parent46b33854c9d1c4365f29259ad25ea606f4b66f4c (diff)
Rename `futex_wake` and `futex_wake_all` to `futex_signal` and `futex_broadcast`
Diffstat (limited to 'core/sync/sync2')
-rw-r--r--core/sync/sync2/futex_darwin.odin4
-rw-r--r--core/sync/sync2/futex_linux.odin4
-rw-r--r--core/sync/sync2/futex_windows.odin4
-rw-r--r--core/sync/sync2/primitives.odin12
-rw-r--r--core/sync/sync2/primitives_atomic.odin4
-rw-r--r--core/sync/sync2/primitives_internal.odin2
6 files changed, 15 insertions, 15 deletions
diff --git a/core/sync/sync2/futex_darwin.odin b/core/sync/sync2/futex_darwin.odin
index f20ba73a6..9dad8d375 100644
--- a/core/sync/sync2/futex_darwin.odin
+++ b/core/sync/sync2/futex_darwin.odin
@@ -46,7 +46,7 @@ _futex_wait_with_timeout :: proc(f: ^Futex, expected: u32, duration: time.Durati
}
-_futex_wake_single :: proc(f: ^Futex) {
+_futex_signal :: proc(f: ^Futex) {
loop: for {
s := __ulock_wake(UL_COMPARE_AND_WAIT | ULF_NO_ERRNO, f, 0)
if s >= 0 {
@@ -63,7 +63,7 @@ _futex_wake_single :: proc(f: ^Futex) {
}
}
-_futex_wake_all :: proc(f: ^Futex) {
+_futex_broadcast :: proc(f: ^Futex) {
loop: for {
s := __ulock_wake(UL_COMPARE_AND_WAIT | ULF_NO_ERRNO | ULF_WAKE_ALL, f, 0)
if s >= 0 {
diff --git a/core/sync/sync2/futex_linux.odin b/core/sync/sync2/futex_linux.odin
index 6ee5ff2b1..de99c2b5e 100644
--- a/core/sync/sync2/futex_linux.odin
+++ b/core/sync/sync2/futex_linux.odin
@@ -84,7 +84,7 @@ _futex_wait_with_timeout :: proc(f: ^Futex, expected: u32, duration: time.Durati
}
-_futex_wake_single :: proc(f: ^Futex) {
+_futex_signal :: proc(f: ^Futex) {
err := internal_futex(f, FUTEX_WAKE_PRIVATE | FUTEX_WAKE, 1, nil)
switch err {
case ESUCCESS, EINVAL, EFAULT:
@@ -93,7 +93,7 @@ _futex_wake_single :: proc(f: ^Futex) {
panic("futex_wake_single failure")
}
}
-_futex_wake_all :: proc(f: ^Futex) {
+_futex_broadcast :: proc(f: ^Futex) {
err := internal_futex(f, FUTEX_WAKE_PRIVATE | FUTEX_WAKE, u32(max(i32)), nil)
switch err {
case ESUCCESS, EINVAL, EFAULT:
diff --git a/core/sync/sync2/futex_windows.odin b/core/sync/sync2/futex_windows.odin
index d4b594aed..200a119ff 100644
--- a/core/sync/sync2/futex_windows.odin
+++ b/core/sync/sync2/futex_windows.odin
@@ -29,10 +29,10 @@ _futex_wait_with_timeout :: proc(f: ^Futex, expect: u32, duration: time.Duration
return bool(WaitOnAddress(f, &expect, size_of(expect), timeout))
}
-_futex_wake_single :: proc(f: ^Futex) {
+_futex_signal :: proc(f: ^Futex) {
WakeByAddressSingle(f)
}
-_futex_wake_all :: proc(f: ^Futex) {
+_futex_broadcast :: proc(f: ^Futex) {
WakeByAddressAll(f)
} \ No newline at end of file
diff --git a/core/sync/sync2/primitives.odin b/core/sync/sync2/primitives.odin
index e81b09d0d..843e91d8e 100644
--- a/core/sync/sync2/primitives.odin
+++ b/core/sync/sync2/primitives.odin
@@ -219,9 +219,9 @@ sema_wait_with_timeout :: proc(s: ^Sema, duration: time.Duration) -> bool {
sema_post :: proc(s: ^Sema, count := 1) {
atomic_add(&s.count, Futex(count))
if count == 1 {
- futex_wake_single(&s.count)
+ futex_signal(&s.count)
} else {
- futex_wake_all(&s.count)
+ futex_broadcast(&s.count)
}
}
@@ -251,10 +251,10 @@ futex_wait_with_timeout :: proc(f: ^Futex, expected: u32, duration: time.Duratio
return _futex_wait_with_timeout(f, expected, duration)
}
-futex_wake_single :: proc(f: ^Futex) {
- _futex_wake_single(f)
+futex_signal :: proc(f: ^Futex) {
+ _futex_signal(f)
}
-futex_wake_all :: proc(f: ^Futex) {
- _futex_wake_all(f)
+futex_broadcast :: proc(f: ^Futex) {
+ _futex_broadcast(f)
}
diff --git a/core/sync/sync2/primitives_atomic.odin b/core/sync/sync2/primitives_atomic.odin
index 1aee76020..46be038aa 100644
--- a/core/sync/sync2/primitives_atomic.odin
+++ b/core/sync/sync2/primitives_atomic.odin
@@ -62,7 +62,7 @@ atomic_mutex_lock :: proc(m: ^Atomic_Mutex) {
atomic_mutex_unlock :: proc(m: ^Atomic_Mutex) {
@(cold)
unlock_slow :: proc(m: ^Atomic_Mutex) {
- futex_wake_single((^Futex)(&m.state))
+ futex_signal((^Futex)(&m.state))
}
@@ -317,7 +317,7 @@ queue_item_wait_with_timeout :: proc(item: ^Queue_Item, duration: time.Duration)
@(private="file")
queue_item_signal :: proc(item: ^Queue_Item) {
atomic_store_release(&item.futex, 1)
- futex_wake_single(&item.futex)
+ futex_signal(&item.futex)
}
diff --git a/core/sync/sync2/primitives_internal.odin b/core/sync/sync2/primitives_internal.odin
index a6747a737..ae7e2599c 100644
--- a/core/sync/sync2/primitives_internal.odin
+++ b/core/sync/sync2/primitives_internal.odin
@@ -29,7 +29,7 @@ when #config(ODIN_SYNC_RECURSIVE_MUTEX_USE_FUTEX, true) {
}
atomic_exchange_release(&m.impl.owner, 0)
- futex_wake_single(&m.impl.owner)
+ futex_signal(&m.impl.owner)
// outside the lock
}