aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/locking.c
diff options
context:
space:
mode:
Diffstat (limited to 'litmus/locking.c')
-rw-r--r--litmus/locking.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/litmus/locking.c b/litmus/locking.c
index 728b56835cf7..e9e682adc2c9 100644
--- a/litmus/locking.c
+++ b/litmus/locking.c
@@ -119,6 +119,20 @@ struct task_struct* waitqueue_first(wait_queue_head_t *wq)
119 return NULL; 119 return NULL;
120} 120}
121 121
122struct task_struct* waitqueue_first_and_remove(wait_queue_head_t *wq)
123{
124 wait_queue_t *q;
125 struct task_struct* t = NULL;
126
127 if(waitqueue_active(wq))
128 {
129 q = list_entry(wq->task_list.next,
130 wait_queue_t, task_list);
131 t = (struct task_struct*) q->private;
132 __remove_wait_queue(wq, q);
133 }
134 return(t);
135}
122 136
123#else 137#else
124 138