- set_current_state(TASK_INTERRUPTIBLE);
- do {
- /* Mmm. Isn't current->blocked == 0xffffffff ?
- */
- if (signal_pending(current)) {
- TRACE(ft_t_err,
- "awoken by non-blocked signal :-(");
- break; /* exit on signal */
- }
- while (current->state != TASK_RUNNING) {
- timeout = schedule_timeout(timeout);
- }
- } while (timeout);
+ msleep_interruptible(jiffies_to_msecs(timeout));
+ /* Mmm. Isn't current->blocked == 0xffffffff ?
+ */
+ if (signal_pending(current)) {
+ TRACE(ft_t_err, "awoken by non-blocked signal :-(");
+ }