Lines Matching defs:waiter
43 struct sem_waiter waiter;
48 waiter.task = tsk;
51 list_add_tail(&waiter.list, &sem->wait_list);
60 if (list_empty(&waiter.list))
79 struct sem_waiter waiter;
85 waiter.task = tsk;
88 list_add_tail(&waiter.list, &sem->wait_list);
98 if (list_empty(&waiter.list))
114 if (!list_empty(&waiter.list)) {
115 list_del(&waiter.list);
134 struct sem_waiter *waiter;
139 waiter = list_entry(sem->wait_list.next, struct sem_waiter, list);
141 /* We must be careful not to touch 'waiter' after we set ->task = NULL.
142 * It is an allocated on the waiter's stack and may become invalid at
145 list_del_init(&waiter->list);
146 tsk = waiter->task;
148 waiter->task = NULL;