Lines Matching refs:cond
38 ___pthread_cond_broadcast (pthread_cond_t *cond) in ___pthread_cond_broadcast() argument
40 LIBC_PROBE (cond_broadcast, 1, cond); in ___pthread_cond_broadcast()
42 unsigned int wrefs = atomic_load_relaxed (&cond->__data.__wrefs); in ___pthread_cond_broadcast()
47 __condvar_acquire_lock (cond, private); in ___pthread_cond_broadcast()
49 unsigned long long int wseq = __condvar_load_wseq_relaxed (cond); in ___pthread_cond_broadcast()
56 if (cond->__data.__g_size[g1] != 0) in ___pthread_cond_broadcast()
59 atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, in ___pthread_cond_broadcast()
60 cond->__data.__g_size[g1] << 1); in ___pthread_cond_broadcast()
61 cond->__data.__g_size[g1] = 0; in ___pthread_cond_broadcast()
67 futex_wake (cond->__data.__g_signals + g1, INT_MAX, private); in ___pthread_cond_broadcast()
72 if (__condvar_quiesce_and_switch_g1 (cond, wseq, &g1, private)) in ___pthread_cond_broadcast()
75 atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, in ___pthread_cond_broadcast()
76 cond->__data.__g_size[g1] << 1); in ___pthread_cond_broadcast()
77 cond->__data.__g_size[g1] = 0; in ___pthread_cond_broadcast()
82 __condvar_release_lock (cond, private); in ___pthread_cond_broadcast()
85 futex_wake (cond->__data.__g_signals + g1, INT_MAX, private); in ___pthread_cond_broadcast()