aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/locking.c
diff options
context:
space:
mode:
Diffstat (limited to 'litmus/locking.c')
-rw-r--r--litmus/locking.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/litmus/locking.c b/litmus/locking.c
index e9e682adc2c9..cfce98e7480d 100644
--- a/litmus/locking.c
+++ b/litmus/locking.c
@@ -107,27 +107,14 @@ asmlinkage long sys_litmus_unlock(int lock_od)
107 return err; 107 return err;
108} 108}
109 109
110struct task_struct* waitqueue_first(wait_queue_head_t *wq) 110struct task_struct* __waitqueue_remove_first(wait_queue_head_t *wq)
111{ 111{
112 wait_queue_t *q; 112 wait_queue_t* q;
113 struct task_struct* t = NULL;
113 114
114 if (waitqueue_active(wq)) { 115 if (waitqueue_active(wq)) {
115 q = list_entry(wq->task_list.next, 116 q = list_entry(wq->task_list.next,
116 wait_queue_t, task_list); 117 wait_queue_t, task_list);
117 return (struct task_struct*) q->private;
118 } else
119 return NULL;
120}
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; 118 t = (struct task_struct*) q->private;
132 __remove_wait_queue(wq, q); 119 __remove_wait_queue(wq, q);
133 } 120 }