Index: fusl/src/thread/sem_timedwait.c |
diff --git a/fusl/src/thread/sem_timedwait.c b/fusl/src/thread/sem_timedwait.c |
index 8132eb1bf7a276d9b2dd2c9c978bbc0f0b29b7f4..da98b5d0b7f0854b13816243450b48904ef2e68b 100644 |
--- a/fusl/src/thread/sem_timedwait.c |
+++ b/fusl/src/thread/sem_timedwait.c |
@@ -1,31 +1,31 @@ |
#include <semaphore.h> |
#include "pthread_impl.h" |
-static void cleanup(void *p) |
-{ |
- a_dec(p); |
+static void cleanup(void* p) { |
+ a_dec(p); |
} |
-int sem_timedwait(sem_t *restrict sem, const struct timespec *restrict at) |
-{ |
- pthread_testcancel(); |
+int sem_timedwait(sem_t* restrict sem, const struct timespec* restrict at) { |
+ pthread_testcancel(); |
- if (!sem_trywait(sem)) return 0; |
+ if (!sem_trywait(sem)) |
+ return 0; |
- int spins = 100; |
- while (spins-- && sem->__val[0] <= 0 && !sem->__val[1]) a_spin(); |
+ int spins = 100; |
+ while (spins-- && sem->__val[0] <= 0 && !sem->__val[1]) |
+ a_spin(); |
- while (sem_trywait(sem)) { |
- int r; |
- a_inc(sem->__val+1); |
- a_cas(sem->__val, 0, -1); |
- pthread_cleanup_push(cleanup, (void *)(sem->__val+1)); |
- r = __timedwait_cp(sem->__val, -1, CLOCK_REALTIME, at, sem->__val[2]); |
- pthread_cleanup_pop(1); |
- if (r && r != EINTR) { |
- errno = r; |
- return -1; |
- } |
- } |
- return 0; |
+ while (sem_trywait(sem)) { |
+ int r; |
+ a_inc(sem->__val + 1); |
+ a_cas(sem->__val, 0, -1); |
+ pthread_cleanup_push(cleanup, (void*)(sem->__val + 1)); |
+ r = __timedwait_cp(sem->__val, -1, CLOCK_REALTIME, at, sem->__val[2]); |
+ pthread_cleanup_pop(1); |
+ if (r && r != EINTR) { |
+ errno = r; |
+ return -1; |
+ } |
+ } |
+ return 0; |
} |