Lines Matching refs:waiters

205 	if (lock->waiters != NULL)
206 lock->waiters->last->next = &waiter;
208 lock->waiters = &waiter;
210 lock->waiters->last = &waiter;
230 rw_lock_waiter* waiter = lock->waiters;
240 lock->waiters = waiter->next;
241 if (lock->waiters != NULL)
242 lock->waiters->last = waiter->last;
256 lock->waiters = waiter->next;
257 if (lock->waiters != NULL)
258 lock->waiters->last = waiter->last;
265 } while ((waiter = lock->waiters) != NULL && !waiter->writer);
278 lock->waiters = NULL;
292 lock->waiters = NULL;
308 // unblock all waiters
312 if (lock->waiters != NULL && find_thread(NULL)
324 while (rw_lock_waiter* waiter = lock->waiters) {
326 lock->waiters = waiter->next;
406 if (lock->waiters != NULL)
407 lock->waiters->last->next = &waiter;
409 lock->waiters = &waiter;
411 lock->waiters->last = &waiter;
432 rw_lock_waiter* other = lock->waiters;
440 lock->waiters = waiter.next;
441 if (lock->waiters != NULL)
442 lock->waiters->last = waiter.last;
444 // one or more other waiters are before us in the queue
446 if (lock->waiters->last == &waiter)
447 lock->waiters->last = previous;
553 // We gave up our last write lock -- clean up and unblock waiters.
589 lock->waiters = NULL;
603 lock->waiters = NULL;
619 // unblock all waiters
623 if (lock->waiters != NULL && find_thread(NULL)
632 while (mutex_waiter* waiter = lock->waiters) {
634 lock->waiters = waiter->next;
707 if (lock->waiters != NULL) {
708 lock->waiters->last->next = &waiter;
710 lock->waiters = &waiter;
712 lock->waiters->last = &waiter;
753 mutex_waiter* waiter = lock->waiters;
756 lock->waiters = waiter->next;
757 if (lock->waiters != NULL)
758 lock->waiters->last = waiter->last;