Lines Matching refs:waiter
121 struct ldsem_waiter *waiter, *next; in __ldsem_wake_readers() local
138 list_for_each_entry_safe(waiter, next, &sem->read_wait, list) { in __ldsem_wake_readers()
139 tsk = waiter->task; in __ldsem_wake_readers()
141 waiter->task = NULL; in __ldsem_wake_readers()
165 struct ldsem_waiter *waiter; in __ldsem_wake_writer() local
167 waiter = list_entry(sem->write_wait.next, struct ldsem_waiter, list); in __ldsem_wake_writer()
168 wake_up_process(waiter->task); in __ldsem_wake_writer()
202 struct ldsem_waiter waiter; in down_read_failed() local
221 list_add_tail(&waiter.list, &sem->read_wait); in down_read_failed()
224 waiter.task = tsk; in down_read_failed()
237 if (!waiter.task) in down_read_failed()
251 if (waiter.task) { in down_read_failed()
253 list_del(&waiter.list); in down_read_failed()
255 put_task_struct(waiter.task); in down_read_failed()
270 struct ldsem_waiter waiter; in down_write_failed() local
290 list_add_tail(&waiter.list, &sem->write_wait); in down_write_failed()
292 waiter.task = tsk; in down_write_failed()
309 list_del(&waiter.list); in down_write_failed()