Home
last modified time | relevance | path

Searched refs:isem (Results 1 – 7 of 7) sorted by relevance

/sysdeps/htl/
A Dsem-timedwait.c31 __sem_wait_32_finish (struct new_sem *isem);
37 struct new_sem *isem = arg; in __sem_wait_cleanup() local
42 __sem_wait_32_finish (isem); in __sem_wait_cleanup()
53 int flags = isem->pshared ? GSYNC_SHARED : 0; in __sem_timedwait_internal()
57 if (__sem_waitfast (isem, 0) == 0) in __sem_timedwait_internal()
90 __sem_wait_cleanup (isem); in __sem_timedwait_internal()
118 v = atomic_load_relaxed (&isem->value); in __sem_timedwait_internal()
138 err = __lll_wait_intr (&isem->value, in __sem_timedwait_internal()
164 __sem_wait_32_finish (isem); in __sem_timedwait_internal()
175 __sem_wait_32_finish (struct new_sem *isem) in __sem_wait_32_finish() argument
[all …]
A Dsem-post.c29 struct new_sem *isem = (struct new_sem *) sem; in __sem_post() local
30 int flags = isem->pshared ? GSYNC_SHARED : 0; in __sem_post()
33 uint64_t d = atomic_load_relaxed (&isem->data); in __sem_post()
43 while (!atomic_compare_exchange_weak_release (&isem->data, &d, d + 1)); in __sem_post()
47 __lll_wake (((unsigned int *) &isem->data) + SEM_VALUE_OFFSET, flags); in __sem_post()
49 unsigned int v = atomic_load_relaxed (&isem->value); in __sem_post()
60 (&isem->value, &v, v + (1 << SEM_VALUE_SHIFT))); in __sem_post()
64 __lll_wake (&isem->value, flags); in __sem_post()
A Dsem-waitfast.c25 __sem_waitfast (struct new_sem *isem, int definitive_result) in __sem_waitfast() argument
28 uint64_t d = atomic_load_relaxed (&isem->data); in __sem_waitfast()
34 if (atomic_compare_exchange_weak_acquire (&isem->data, &d, d - 1)) in __sem_waitfast()
41 unsigned v = atomic_load_relaxed (&isem->value); in __sem_waitfast()
47 if (atomic_compare_exchange_weak_acquire (&isem->value, in __sem_waitfast()
A Dsem-destroy.c27 struct new_sem *isem = (struct new_sem *) sem; in __sem_destroy() local
30 atomic_load_relaxed (&isem->data) >> SEM_NWAITERS_SHIFT in __sem_destroy()
32 atomic_load_relaxed (&isem->value) & SEM_NWAITERS_MASK in __sem_destroy()
33 || isem->nwaiters in __sem_destroy()
A Dsem-getvalue.c25 struct new_sem *isem = (struct new_sem *) sem; in __sem_getvalue() local
28 *value = atomic_load_relaxed (&isem->data) & SEM_VALUE_MASK; in __sem_getvalue()
30 *value = atomic_load_relaxed (&isem->value) >> SEM_VALUE_SHIFT; in __sem_getvalue()
A Dsem-trywait.c27 struct new_sem *isem = (struct new_sem *) sem; in __sem_trywait() local
29 if (__sem_waitfast (isem, 1) == 0) in __sem_trywait()
A Dsem-init.c35 struct new_sem *isem = (struct new_sem *) sem; in __sem_init() local
37 *isem = (struct new_sem) __SEMAPHORE_INITIALIZER (value, pshared); in __sem_init()

Completed in 8 milliseconds