summaryrefslogtreecommitdiff
path: root/kern/mutex/mutex_adaptive.c
diff options
context:
space:
mode:
Diffstat (limited to 'kern/mutex/mutex_adaptive.c')
-rw-r--r--kern/mutex/mutex_adaptive.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kern/mutex/mutex_adaptive.c b/kern/mutex/mutex_adaptive.c
index b2af456..d17ad9d 100644
--- a/kern/mutex/mutex_adaptive.c
+++ b/kern/mutex/mutex_adaptive.c
@@ -135,8 +135,8 @@ mutex_adaptive_lock_slow_common(struct mutex *mutex, bool timed, uint64_t ticks)
mutex_adaptive_set_contended(mutex);
do {
- owner = atomic_cas_acquire(&mutex->owner, MUTEX_ADAPTIVE_CONTENDED,
- self | MUTEX_ADAPTIVE_CONTENDED);
+ owner = atomic_cas(&mutex->owner, MUTEX_ADAPTIVE_CONTENDED,
+ self | MUTEX_ADAPTIVE_CONTENDED, ATOMIC_ACQUIRE);
assert(owner & MUTEX_ADAPTIVE_CONTENDED);
if (mutex_adaptive_get_thread(owner) == NULL) {
@@ -254,8 +254,8 @@ mutex_adaptive_unlock_slow(struct mutex *mutex)
self = (uintptr_t)thread_self() | MUTEX_ADAPTIVE_CONTENDED;
for (;;) {
- owner = atomic_cas_release(&mutex->owner, self,
- MUTEX_ADAPTIVE_CONTENDED);
+ owner = atomic_cas(&mutex->owner, self,
+ MUTEX_ADAPTIVE_CONTENDED, ATOMIC_RELEASE);
if (owner == self) {
break;