Index: fusl/src/thread/sem_post.c |
diff --git a/fusl/src/thread/sem_post.c b/fusl/src/thread/sem_post.c |
index 31e3293d20504a85deaebca70ded98567ba9561e..b374c51ee8e2f341eba36bb0bd8c65b5a4c878fb 100644 |
--- a/fusl/src/thread/sem_post.c |
+++ b/fusl/src/thread/sem_post.c |
@@ -1,17 +1,17 @@ |
#include <semaphore.h> |
#include "pthread_impl.h" |
-int sem_post(sem_t *sem) |
-{ |
- int val, waiters, priv = sem->__val[2]; |
- do { |
- val = sem->__val[0]; |
- waiters = sem->__val[1]; |
- if (val == SEM_VALUE_MAX) { |
- errno = EOVERFLOW; |
- return -1; |
- } |
- } while (a_cas(sem->__val, val, val+1+(val<0)) != val); |
- if (val<0 || waiters) __wake(sem->__val, 1, priv); |
- return 0; |
+int sem_post(sem_t* sem) { |
+ int val, waiters, priv = sem->__val[2]; |
+ do { |
+ val = sem->__val[0]; |
+ waiters = sem->__val[1]; |
+ if (val == SEM_VALUE_MAX) { |
+ errno = EOVERFLOW; |
+ return -1; |
+ } |
+ } while (a_cas(sem->__val, val, val + 1 + (val < 0)) != val); |
+ if (val < 0 || waiters) |
+ __wake(sem->__val, 1, priv); |
+ return 0; |
} |