diff options
Diffstat (limited to 'kern/mutex/mutex_adaptive.c')
-rw-r--r-- | kern/mutex/mutex_adaptive.c | 8 |
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; |