patch related to SIGSEGV handling in multiple threads and hung threads

From: Sudarshan Soma
Date: Fri May 15 2009 - 07:06:02 EST


Hi ,
I have a program which will create multiple threads. One of the thread
receives SIGSEGV and it prints stacktrace in its handler and calls
_exit(-1). The call to exit wont terminate all threads in a process
and hence thread hangs here. This causes resouce leaks and other
problems. It is seen only on linux 2.4.20.

For printing stacktrace it uses
__builtin_return_address and __builtin_frame_address


The same program works fine on linux 2.6.26 kernel. It will exit the
whole process when one of its thread dies as above.


Please let me know the patch details or any workaround, if any. This
is a bit urgent, so please let me know for any pointers , if any

Thanks and Best Regards,
Pavan.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/