Lines Matching refs:node
47 struct waiter node = { in pthread_cond_timedwait() local
51 atomic_int* fut = &node.barrier; in pthread_cond_timedwait()
55 node.next = c->_c_head; in pthread_cond_timedwait()
56 c->_c_head = &node; in pthread_cond_timedwait()
58 c->_c_tail = &node; in pthread_cond_timedwait()
60 node.next->prev = &node; in pthread_cond_timedwait()
78 oldstate = a_cas_shim(&node.state, WAITING, LEAVING); in pthread_cond_timedwait()
97 if (c->_c_head == &node) in pthread_cond_timedwait()
98 c->_c_head = node.next; in pthread_cond_timedwait()
99 else if (node.prev) in pthread_cond_timedwait()
100 node.prev->next = node.next; in pthread_cond_timedwait()
101 if (c->_c_tail == &node) in pthread_cond_timedwait()
102 c->_c_tail = node.prev; in pthread_cond_timedwait()
103 else if (node.next) in pthread_cond_timedwait()
104 node.next->prev = node.prev; in pthread_cond_timedwait()
117 if (node.notify) { in pthread_cond_timedwait()
118 if (atomic_fetch_add(node.notify, -1) == 1) in pthread_cond_timedwait()
119 _zx_futex_wake(node.notify, 1); in pthread_cond_timedwait()
129 lock(&node.barrier); in pthread_cond_timedwait()
152 if (!node.next) in pthread_cond_timedwait()
157 if (node.prev) in pthread_cond_timedwait()
158 unlock_requeue(&node.prev->barrier, &m->_m_lock); in pthread_cond_timedwait()