diff options
Diffstat (limited to 'kern/semaphore.h')
-rw-r--r-- | kern/semaphore.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kern/semaphore.h b/kern/semaphore.h index 01111856..d7219b4f 100644 --- a/kern/semaphore.h +++ b/kern/semaphore.h @@ -33,6 +33,7 @@ #define _KERN_SEMAPHORE_H #include <kern/assert.h> +#include <kern/atomic.h> #include <kern/error.h> #include <kern/macros.h> @@ -117,7 +118,7 @@ semaphore_post(struct semaphore *semaphore) static inline unsigned int semaphore_getvalue(const struct semaphore *semaphore) { - return read_once(semaphore->value); + return atomic_load(&semaphore->value, ATOMIC_RELAXED); } #endif /* _KERN_SEMAPHORE_H */ |