On Sat, Jan 16, 2010 at 6:17 PM, Helge Deller <deller@xxxxxx> wrote: > This coding seems to indicate that we call _exit(), but we aren't (as > you see above in the strace). > So I'm wondering if the "bl _exit,%rp" needs changing. > Something with HIDDEN_JUMPTARGET(_exit) or similar, so that > _exit() instead of exit() is called? > > Actually I did tested this with the minifail test program, and changed > thread_run() to call _exit(0) at the end instead of "return 0": > void* thread_run(void* arg) { > ... > /* return (void *)&status; */ > _exit(0); > } > With strace I then suddenly got exit_group() which seems more correct: > [pid 1910] write(1, "Thread OK.\n", 11) = 11 > [pid 1910] exit_group(0) = ? I agree with this analysis. I'm testing a change which uses HIDDEN_JUMPTARGET(). I will tell you how it goes. Calling exit_group is important for threads. Cheers, Carlos. -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html