Lines Matching refs:cond

68 pthread_cond_getclock(const pthread_cond_t *cond)  in pthread_cond_getclock()  argument
72 cond->ptc_magic == _PT_COND_MAGIC); in pthread_cond_getclock()
74 return cond->ptc_private ? in pthread_cond_getclock()
75 *(clockid_t *)cond->ptc_private : CLOCK_REALTIME; in pthread_cond_getclock()
79 pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr) in pthread_cond_init() argument
82 return __libc_cond_init_stub(cond, attr); in pthread_cond_init()
87 cond->ptc_magic = _PT_COND_MAGIC; in pthread_cond_init()
88 cond->ptc_waiters = NULL; in pthread_cond_init()
89 cond->ptc_mutex = NULL; in pthread_cond_init()
91 cond->ptc_private = malloc(sizeof(clockid_t)); in pthread_cond_init()
92 if (cond->ptc_private == NULL) in pthread_cond_init()
94 *(clockid_t *)cond->ptc_private = in pthread_cond_init()
97 cond->ptc_private = NULL; in pthread_cond_init()
104 pthread_cond_destroy(pthread_cond_t *cond) in pthread_cond_destroy() argument
107 return __libc_cond_destroy_stub(cond); in pthread_cond_destroy()
110 cond->ptc_magic == _PT_COND_MAGIC); in pthread_cond_destroy()
112 cond->ptc_waiters == NULL); in pthread_cond_destroy()
114 cond->ptc_magic = _PT_COND_DEAD; in pthread_cond_destroy()
115 free(cond->ptc_private); in pthread_cond_destroy()
121 pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, in pthread_cond_timedwait() argument
127 clockid_t clkid = pthread_cond_getclock(cond); in pthread_cond_timedwait()
130 return __libc_cond_timedwait_stub(cond, mutex, abstime); in pthread_cond_timedwait()
133 cond->ptc_magic == _PT_COND_MAGIC); in pthread_cond_timedwait()
147 cond->ptc_mutex = mutex; in pthread_cond_timedwait()
148 for (head = cond->ptc_waiters;; head = next) { in pthread_cond_timedwait()
152 next = cond->ptc_waiters; in pthread_cond_timedwait()
160 next = atomic_cas_ptr(&cond->ptc_waiters, head, &waiter); in pthread_cond_timedwait()
190 pthread_cond_broadcast(cond); in pthread_cond_timedwait()
219 pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) in pthread_cond_wait() argument
222 return __libc_cond_wait_stub(cond, mutex); in pthread_cond_wait()
224 return pthread_cond_timedwait(cond, mutex, NULL); in pthread_cond_wait()
228 pthread_cond_signal(pthread_cond_t *cond) in pthread_cond_signal() argument
235 return __libc_cond_signal_stub(cond); in pthread_cond_signal()
238 cond->ptc_magic == _PT_COND_MAGIC); in pthread_cond_signal()
242 mutex = cond->ptc_mutex; in pthread_cond_signal()
243 for (head = cond->ptc_waiters;; head = next) { in pthread_cond_signal()
247 next = cond->ptc_waiters; in pthread_cond_signal()
254 next = atomic_cas_ptr(&cond->ptc_waiters, head, in pthread_cond_signal()
263 cond->ptc_waiters = head->next; in pthread_cond_signal()
273 pthread_cond_broadcast(pthread_cond_t *cond) in pthread_cond_broadcast() argument
280 return __libc_cond_broadcast_stub(cond); in pthread_cond_broadcast()
283 cond->ptc_magic == _PT_COND_MAGIC); in pthread_cond_broadcast()
285 if (cond->ptc_waiters == NULL) in pthread_cond_broadcast()
290 mutex = cond->ptc_mutex; in pthread_cond_broadcast()
291 for (head = cond->ptc_waiters;; head = next) { in pthread_cond_broadcast()
295 next = cond->ptc_waiters; in pthread_cond_broadcast()
301 next = atomic_cas_ptr(&cond->ptc_waiters, head, NULL); in pthread_cond_broadcast()
314 _pthread_cond_has_waiters_np(pthread_cond_t *cond) in _pthread_cond_has_waiters_np() argument
317 return cond->ptc_waiters != NULL; in _pthread_cond_has_waiters_np()