Hi guys,
In kernel/fork.c:do_fork() I see:
p->did_exec = 0;
p->swappable = 0;
p->state = TASK_UNINTERRUPTIBLE;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
copy_flags(clone_flags, p);
p->pid = get_pid(clone_flags);
/*
* This is a "shadow run" state. The process
* is marked runnable, but isn't actually on
* any run queue yet.. (that happens at the
* very end).
*/
p->state = TASK_RUNNING;
~~~~~~~~~~~~~~~~~~~~~~~
p->run_list.next = NULL;
p->run_list.prev = NULL;
why is the process set to uninterruptible sleep for the short
(atomic) duration until it is set to TASK_RUNNING? I see no reason for
that.
Regards,
Tigran
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Jun 23 2000 - 21:00:19 EST