Uwe Bonnes wrote:
I don't understand why pthread_kill_other_threads ist called when a programm creates a new process. With the pthread_kill_other_threads call, the starting process dies. ... What can happen between chdir() and execve() to trigger the pthread_kill_other_threads() call?
This is per the Posix standard; http://www.opengroup.org/onlinepubs/007908799/xsh/exec.html says: "A call to any exec function from a process with more than one thread results in all threads being terminated and the new executable image being loaded and executed."
Maybe this is hurting you because LinuxThreads implements fork() in a nonstandard way, i.e. maybe it only forks the current thread rather than the whole process?
In any case, what you're trying to do is so common and important that maybe it's a glibc bug. Which glibc and kernel are you using?
- Dan