Lassi, On Tue, Mar 22, 2011 at 4:50 PM, Lassi Tuura <[email protected]> wrote: ... > - The frame caches are thread-local and internal to unw_tdep_trace(). ...
I've looked at the committed patch, and I think there may be a problem ;-( You are using pthread_setspecific() to set the thread-local trace cache, but pthread_setspecific may call calloc. I believe that may cause a deadlock if you are unwinding from a signal, or from malloc/calloc itself. Fortunately, all Linux/x86_64 systems support __thread, which doesn't suffer from the same problem. Is there a particular reason you didn't use __thread? If not, I'll send a patch. Thanks! -- Paul Pluzhnikov _______________________________________________ Libunwind-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/libunwind-devel
