Re: schedule_timeout() called with state TASK_RUNNING from fs/select.c

From: Oleg Nesterov
Date: Sun Jul 08 2007 - 07:16:29 EST


Robert P. J. Day wrote:
>
> as i understand it, schedule_timeout() should always be called with
> a current->state of TASK_INTERRUPTIBLE or TASK_UNINTERRUPTIBLE, no?

No.

Yes, it is pointless to call schedule() if it is known that ->state ==
TASK_RUNNING, but sometimes the task doesn't know its state when it
calls schedule/schedule_timeout, the state could be changed by
try_to_wake_up().

See wait_event_timeout() as an example.

Oleg.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/