Re: wait_event() :(

Jan Hudec (bulb@ucw.cz)
Wed, 3 Oct 2001 11:06:29 +0200


> I have a doubt regarding wait_event.
> In the macro __wait_event, the calling process changes its state to
> TASK_UNINTERRUPTIBLE and calls schedule.
> And does this in infinite loop.
> After the loop, it itself changes its state to TASK_RUNNING.
>
> Once it calls schedule(), the scheduler will remove it from task list as
> it is in uninterruptible mode.
> Then when does it come again into running state to check the condition.
>
> kindly cc the reply to me as i'm not subscribed to the list
> thanks

It inserts itself in a wait queue. The schedule returns when wakeup is called
on the wait queue.

--------------------------------------------------------------------------------
- Jan Hudec `Bulb' <bulb@ucw.cz>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/