Home
last modified time | relevance | path

Searched refs:sem (Results 1 – 9 of 9) sorted by relevance

/third_party/ulib/musl/pthread/
A Dsem_timedwait.c8 int sem_timedwait(sem_t* restrict sem, const struct timespec* restrict at) { in sem_timedwait() argument
9 if (!sem_trywait(sem)) in sem_timedwait()
13 while (spins-- && atomic_load(&sem->_s_value) <= 0 && !atomic_load(&sem->_s_waiters)) in sem_timedwait()
16 while (sem_trywait(sem)) { in sem_timedwait()
17 atomic_fetch_add(&sem->_s_waiters, 1); in sem_timedwait()
18 a_cas_shim(&sem->_s_value, 0, -1); in sem_timedwait()
19 int r = __timedwait(&sem->_s_value, -1, CLOCK_REALTIME, at); in sem_timedwait()
A Dsem_post.c5 int sem_post(sem_t* sem) { in sem_post() argument
8 val = atomic_load(&sem->_s_value); in sem_post()
9 waiters = atomic_load(&sem->_s_waiters); in sem_post()
14 } while (a_cas_shim(&sem->_s_value, val, val + 1 + (val < 0)) != val); in sem_post()
16 _zx_futex_wake(&sem->_s_value, 1); in sem_post()
A Dsem_trywait.c4 int sem_trywait(sem_t* sem) { in sem_trywait() argument
6 while ((val = atomic_load(&sem->_s_value)) > 0) { in sem_trywait()
7 int new = val - 1 - (val == 1 && atomic_load(&sem->_s_waiters)); in sem_trywait()
8 if (a_cas_shim(&sem->_s_value, val, new) == val) in sem_trywait()
A Dsem_init.c6 int sem_init(sem_t* sem, int pshared, unsigned value) { in sem_init() argument
15 atomic_store(&sem->_s_value, value); in sem_init()
16 atomic_store(&sem->_s_waiters, 0); in sem_init()
A Dsem_wait.c3 int sem_wait(sem_t* sem) { in sem_wait() argument
4 return sem_timedwait(sem, 0); in sem_wait()
A Dsem_getvalue.c5 int sem_getvalue(sem_t* restrict sem, int* restrict valp) { in sem_getvalue() argument
6 int val = atomic_load(&sem->_s_value); in sem_getvalue()
A Dsem_destroy.c3 int sem_destroy(sem_t* sem) { in sem_destroy() argument
A Dsem_open.c10 int sem_close(sem_t* sem) { in sem_close() argument
/third_party/lib/acpica/source/os_specific/service_layers/
A Dosfuchsia.cpp635 sem_t* sem = (sem_t*)malloc(sizeof(sem_t)); in AcpiOsCreateSemaphore() local
636 if (!sem) { in AcpiOsCreateSemaphore()
639 if (sem_init(sem, 0, InitialUnits) < 0) { in AcpiOsCreateSemaphore()
640 free(sem); in AcpiOsCreateSemaphore()
643 *OutHandle = sem; in AcpiOsCreateSemaphore()

Completed in 11 milliseconds