Searched refs:isem (Results 1 – 12 of 12) sorted by relevance
/glibc-2.36/sysdeps/htl/ |
D | sem-timedwait.c | 31 __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 …]
|
D | sem-post.c | 29 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()
|
D | sem-waitfast.c | 25 __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()
|
D | sem-destroy.c | 27 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()
|
D | sem-getvalue.c | 25 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()
|
D | sem-trywait.c | 27 struct new_sem *isem = (struct new_sem *) sem; in __sem_trywait() local 29 if (__sem_waitfast (isem, 1) == 0) in __sem_trywait()
|
D | sem-init.c | 35 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/ |
D | sem_init.c | 46 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()
|
D | sem_post.c | 34 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()
|
D | sem_getvalue.c | 27 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/ |
D | pt-internal.h | 362 extern int __sem_waitfast (struct new_sem *isem, int definitive_result);
|
/glibc-2.36/ChangeLog.old/ |
D | ChangeLog.nptl | 3063 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
|