Hi Sergey... > I've finally found what the problem was after looking into the kernel > source. In fact, CLONE_THREAD implies cloning parent process ID > (PPID), just like CLONE_PARENT, and this way children threads are not > actually children of the thread that issued clone(), but of its > parent. And that's why my wait() calls failed with ECHILD - there > were no children. And now, this taken into account, everything works > as expected. Now that makes sense to me :) Thanks for sharing the info with me. This means, in parent-child point of view, clone()-ed child has equal degree with the clone() caller. BTW, I found yesterday that IBM DeveloperWorks (Linux section) published an article explaining about NPTL. Worth to check especially if you want to know more about NPTL. > Thanks for your help and for this observation particularly, you > helped me a lot! No problem. It was nice to talk with other people who has the same interest like I do. NB: Arjan, thanks for showing the URL. Ulrich Drepper is the best! :) regards, Mulyadi -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/