|
@@ -2845,52 +2845,6 @@ int default_wake_function(wait_queue_t *curr, unsigned mode, int wake_flags,
|
|
|
}
|
|
|
EXPORT_SYMBOL(default_wake_function);
|
|
|
|
|
|
-static long __sched
|
|
|
-sleep_on_common(wait_queue_head_t *q, int state, long timeout)
|
|
|
-{
|
|
|
- unsigned long flags;
|
|
|
- wait_queue_t wait;
|
|
|
-
|
|
|
- init_waitqueue_entry(&wait, current);
|
|
|
-
|
|
|
- __set_current_state(state);
|
|
|
-
|
|
|
- spin_lock_irqsave(&q->lock, flags);
|
|
|
- __add_wait_queue(q, &wait);
|
|
|
- spin_unlock(&q->lock);
|
|
|
- timeout = schedule_timeout(timeout);
|
|
|
- spin_lock_irq(&q->lock);
|
|
|
- __remove_wait_queue(q, &wait);
|
|
|
- spin_unlock_irqrestore(&q->lock, flags);
|
|
|
-
|
|
|
- return timeout;
|
|
|
-}
|
|
|
-
|
|
|
-void __sched interruptible_sleep_on(wait_queue_head_t *q)
|
|
|
-{
|
|
|
- sleep_on_common(q, TASK_INTERRUPTIBLE, MAX_SCHEDULE_TIMEOUT);
|
|
|
-}
|
|
|
-EXPORT_SYMBOL(interruptible_sleep_on);
|
|
|
-
|
|
|
-long __sched
|
|
|
-interruptible_sleep_on_timeout(wait_queue_head_t *q, long timeout)
|
|
|
-{
|
|
|
- return sleep_on_common(q, TASK_INTERRUPTIBLE, timeout);
|
|
|
-}
|
|
|
-EXPORT_SYMBOL(interruptible_sleep_on_timeout);
|
|
|
-
|
|
|
-void __sched sleep_on(wait_queue_head_t *q)
|
|
|
-{
|
|
|
- sleep_on_common(q, TASK_UNINTERRUPTIBLE, MAX_SCHEDULE_TIMEOUT);
|
|
|
-}
|
|
|
-EXPORT_SYMBOL(sleep_on);
|
|
|
-
|
|
|
-long __sched sleep_on_timeout(wait_queue_head_t *q, long timeout)
|
|
|
-{
|
|
|
- return sleep_on_common(q, TASK_UNINTERRUPTIBLE, timeout);
|
|
|
-}
|
|
|
-EXPORT_SYMBOL(sleep_on_timeout);
|
|
|
-
|
|
|
#ifdef CONFIG_RT_MUTEXES
|
|
|
|
|
|
/*
|