clone and waitpid syscall: return strange error

From: yantux
Date: Mon Apr 16 2007 - 04:46:30 EST


Help my please.

Question about "interactive" clone and waitpid syscalls.

Describe.
Process was create five a process using clone syscall.
Two clone calling with CLONE_THREAD, other three without CLONE_THREAD.

After then process was calling waitpid(getpid, &status, __WNOTHREAD),
then it must not checkout process, that was created by clone with
CLONE_THREAD, is not it?

Questions.
Where define thread_info struct?
Where define list_head struct?

I right understand, that in kernel/fork.c, copy_process() function add process
to thread group?
//1171 string number
list_add_tail_rcu(&p->thread_group, &p->group_leader->thread_group);

And do_wait contain next_thread too, but waitpid(getpid(), &status, __WALL) it
is good, but really waitpid syscall not return info about thread, because
return error "no child process".
I sure that is not right, or I delusion? I waiting from waitpid info about
thread, but not error.

Best regards,
yantux.
-
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/