There is something neglected by me. In fact, the CLONE_SIGNAL is defined as follows: #define CLONE_SIGNAL (CLONE_SIGHAND | CLONE_THREAD) So, the CLONE_THREAD flag is included indeed. 2010/11/27 Parmenides <mobile.parmenides@xxxxxxxxx>: > Hi, > > The following code fragment is from the funciton named create_thread() > which included in glibc 2.11.2: > > int clone_flags = (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGNAL > | CLONE_SETTLS | CLONE_PARENT_SETTID > | CLONE_CHILD_CLEARTID | CLONE_SYSVSEM > #if __ASSUME_NO_CLONE_DETACHED == 0 > | CLONE_DETACHED > #endif > | 0); > > int res = do_clone (pd, attr, clone_flags, start_thread, > STACK_VARIABLES_ARGS, 1); > > This means that when creating a thread by do_clone(), it is > unnecessary to include the CLONE_THREAD flag in the clone_flags > variable. AFAIK, a thread is added into a thread group only if the > CLONE_THREAD flag is specified when creating it. So, I wonder why the > CLONE_THREAD flag is not speified in calling do_clone() and in which > circumstances this flag play its role. > -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ