Since Linux 2.5.35, flags must also include CLONE_SIGHAND if CLONE_THREAD is specified (and note that, since Linux 2.6.0-test6, CLONE_SIGHAND also requires CLONE_VM to be included).
So it seems that on modern Linux, threads are forced to share signal handlers and memory space, is it true? Is there any way to create a new thread(the same
tgid as the calling thread) without sharing memory space, maybe like by not using the
I also want to know, enforced by kernel, what are shared between threads in one process.