On Tue, Nov 05, 2002 at 12:36:51AM -0800, Ulrich Drepper wrote: > I do not think that any kernel change is necessary for this. I see only these solutions, and kernel modification seems the best one: 1. Special-case it and do the clearing in user mode: this doesn't work if the thread dies unexpectedly (e.g. pthread_kill(SIGKILL)). 2. Special-case death signals for pthread_kill: this doesn't work if the thread is externally killed and isn't clean anyway, especially because you would need to keep track of how signals are set to determine if they are going to be lethal. 3. Clone and don't use the main thread: slow. 4. Don't use CLONE_DETACHED and catch the SIGCHLD: slow (and there are probably other problems). 5. Add a sys_cleartid syscall: almost zero overhead, since it also replaces gettid(), but Linus may not accept it. Any other solution I have missed?
Description: PGP signature