Re: problem with "Use CLONE_KERNEL for the common kernel thread

Linus Torvalds (torvalds@transmeta.com)
Sun, 15 Sep 2002 16:59:33 -0700 (PDT)


On Sun, 15 Sep 2002, Matthew Wilcox wrote:
>
> Seems to me like you missed something in your latest changeset:
>
> -#define CLONE_SIGNAL (CLONE_SIGHAND | CLONE_THREAD)
> +#define CLONE_KERNEL (CLONE_FS | CLONE_FILES | CLONE_SIGHAND)
> - kernel_thread(init, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGNAL);
> + kernel_thread(init, NULL, CLONE_KERNEL);
>
> init used to be spawned with CLONE_THREAD and no longer is. Was this
> intentional?

Yup. CLONE_THREAD has some new semantics these days, and is not
necessarily at all what a kernel thread wants any more. It used to not
matter at all, but these days it means that it gets put on the same thread
group list as the parent, which means that it won't show up on the global
list of processes any more (since it is considered a "subthread" of the
thread group leader).

Linus

-
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/