Lines Matching refs:tail_waiter
88 waiter *tail_waiter; // Used to get FIFO, rather than LIFO, behavior for pthread_cond_signal member
93 dng_pthread_cond_impl() : head_waiter(NULL), tail_waiter(NULL), broadcast_generation(0) { } in dng_pthread_cond_impl()
588 this_wait.prev = real_cond.tail_waiter; in cond_wait_internal()
589 if (real_cond.tail_waiter != NULL) in cond_wait_internal()
590 real_cond.tail_waiter->next = &this_wait; in cond_wait_internal()
591 real_cond.tail_waiter = &this_wait; in cond_wait_internal()
627 real_cond.tail_waiter = this_wait.prev; in cond_wait_internal()
699 real_cond.tail_waiter = NULL; // Or first->prev, which is always NULL in this case in dng_pthread_cond_signal()
727 real_cond.tail_waiter = NULL; in dng_pthread_cond_broadcast()
821 rw_waiter *tail_waiter; member
833 , tail_waiter (NULL) in dng_pthread_rwlock_impl()
852 tail_waiter = NULL; in WakeHeadWaiter()
926 this_wait.prev = real_rwlock.tail_waiter; in dng_pthread_rwlock_rdlock()
927 if (real_rwlock.tail_waiter != NULL) in dng_pthread_rwlock_rdlock()
928 real_rwlock.tail_waiter->next = &this_wait; in dng_pthread_rwlock_rdlock()
929 real_rwlock.tail_waiter = &this_wait; in dng_pthread_rwlock_rdlock()
1054 this_wait.prev = real_rwlock.tail_waiter; in dng_pthread_rwlock_wrlock()
1055 if (real_rwlock.tail_waiter != NULL) in dng_pthread_rwlock_wrlock()
1056 real_rwlock.tail_waiter->next = &this_wait; in dng_pthread_rwlock_wrlock()
1057 real_rwlock.tail_waiter = &this_wait; in dng_pthread_rwlock_wrlock()