I'm having a problem with a C++ program where the the
pthread_cleanup_push cleanup routine is not being called when the
thread is cancelled. This is happening because class destructors are
not being called by the exception unwind routine. I found the problem
to be caused by the fact that some of the system calls that are
cancellation points, in this case sleep(), don't have the .eh_frame
info needed to unwind the stack frames and break the unwind chain. I
see that the CFLAGS for some modules have -fexceptions set, which will
cause the .eh_frame to be generated, but this flag is not set for all
the standard Linux defined cancellation points. Am I missing something
here or has this always been broken?

Thanks
Al Cooper
_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to