Lines Matching defs:waiter
25 rw_lock_waiter waiter;
26 waiter.thread = find_thread(NULL);
27 waiter.next = NULL;
28 waiter.writer = writer;
31 lock->last_waiter->next = &waiter;
33 lock->waiters = &waiter;
35 lock->last_waiter = &waiter;
59 rw_lock_waiter *waiter = lock->waiters;
60 if (waiter == NULL)
63 if (waiter->writer) {
67 lock->waiters = waiter->next;
68 lock->holder = waiter->thread;
69 _kern_unblock_thread(waiter->thread, B_OK);
73 while (waiter != NULL && !waiter->writer) {
75 lock->waiters = waiter->next;
76 _kern_unblock_thread(waiter->thread, B_OK);
77 waiter = lock->waiters;
106 rw_lock_waiter *waiter = lock->waiters;
107 while (waiter != NULL) {
108 _kern_unblock_thread(waiter->thread, B_ERROR);
109 waiter = waiter->next;