16 __sync_bool_compare_and_swap(&(completion->
completed), 0, 1);
21 while (!__sync_bool_compare_and_swap(&(completion->
completed), 1, 0));
41 __sync_fetch_and_add(&(sem->
value), 1);
51 if (__sync_bool_compare_and_swap(&(sem->
value), value, value - 1))
volatile size_t completed
async_semaphore_s semaphore
void async_semaphore_inc(async_semaphore_s *sem)
void async_condition_wait(async_condition_s *cond)
void async_semaphore_init(async_meta_s *meta, async_semaphore_s *sem)
int async_semaphore_value(async_semaphore_s *sem)
void async_condition_unlock(async_condition_s *cond)
void async_condition_notify(async_condition_s *cond)
void async_semaphore_dec(async_semaphore_s *sem)
void async_meta_init_once(async_meta_s *meta, arch_alloc_s *alloc)
void async_completion_init(async_meta_s *meta, async_completion_s *completion)
void async_condition_init(async_meta_s *meta, async_condition_s *cond)
void async_completion_complete(async_completion_s *completion)
void async_meta_init_always(async_meta_s *meta)
int async_completion_check(async_completion_s *completion)
void async_completion_wait(async_completion_s *completion)
void async_condition_lock(async_condition_s *cond)
void async_meta_exit(async_meta_s *meta)