Home
last modified time | relevance | path

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

/glibc-2.36/sysdeps/htl/
Dsem-timedwait.c31 __sem_wait_32_finish (struct new_sem *isem);
37 struct new_sem *isem = arg; in __sem_wait_cleanup() local
40 atomic_fetch_add_relaxed (&isem->data, -((uint64_t) 1 << SEM_NWAITERS_SHIFT)); in __sem_wait_cleanup()
42 __sem_wait_32_finish (isem); in __sem_wait_cleanup()
51 struct new_sem *isem = (struct new_sem *) sem; in __sem_timedwait_internal() local
53 int flags = isem->pshared ? GSYNC_SHARED : 0; in __sem_timedwait_internal()
57 if (__sem_waitfast (isem, 0) == 0) in __sem_timedwait_internal()
66 pthread_cleanup_push (__sem_wait_cleanup, isem); in __sem_timedwait_internal()
90 __sem_wait_cleanup (isem); in __sem_timedwait_internal()
114 atomic_fetch_add_acquire (&isem->nwaiters, 1); in __sem_timedwait_internal()
[all …]
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()
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()
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()
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()
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()
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()
/glibc-2.36/nptl/
Dsem_init.c46 struct new_sem *isem = (struct new_sem *) sem; in __new_sem_init() local
50 isem->data = value; in __new_sem_init()
52 isem->value = value << SEM_VALUE_SHIFT; in __new_sem_init()
54 isem->pad = 0; in __new_sem_init()
55 isem->nwaiters = 0; in __new_sem_init()
58 isem->private = (pshared == PTHREAD_PROCESS_PRIVATE in __new_sem_init()
84 struct old_sem *isem = (struct old_sem *) sem; in __old_sem_init() local
87 isem->value = value; in __old_sem_init()
Dsem_post.c34 struct new_sem *isem = (struct new_sem *) sem; in __new_sem_post() local
35 int private = isem->private; in __new_sem_post()
43 uint64_t d = atomic_load_relaxed (&isem->data); in __new_sem_post()
52 while (!atomic_compare_exchange_weak_release (&isem->data, &d, d + 1)); in __new_sem_post()
56 futex_wake (((unsigned int *) &isem->data) + SEM_VALUE_OFFSET, 1, private); in __new_sem_post()
59 unsigned int v = atomic_load_relaxed (&isem->value); in __new_sem_post()
69 (&isem->value, &v, v + (1 << SEM_VALUE_SHIFT))); in __new_sem_post()
73 futex_wake (&isem->value, 1, private); in __new_sem_post()
Dsem_getvalue.c27 struct new_sem *isem = (struct new_sem *) sem; in __new_sem_getvalue() local
37 *sval = atomic_load_relaxed (&isem->data) & SEM_VALUE_MASK; in __new_sem_getvalue()
39 *sval = atomic_load_relaxed (&isem->value) >> SEM_VALUE_SHIFT; in __new_sem_getvalue()
54 struct old_sem *isem = (struct old_sem *) sem; in __old_sem_getvalue() local
55 *sval = isem->value; in __old_sem_getvalue()
/glibc-2.36/htl/
Dpt-internal.h362 extern int __sem_waitfast (struct new_sem *isem, int definitive_result);
/glibc-2.36/ChangeLog.old/
DChangeLog.nptl3063 Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
3076 Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
3080 isem->private ^ FUTEX_PRIVATE_FLAG as last argument to
3552 isem->private ^ FUTEX_PRIVATE_FLAG as second argument to