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