On Wed, Feb 29, 2012 at 09:06:32AM -0500, Alan Cooper wrote: > I seems to me there are 2 different issues here. > 1. pthread_cleanup_push/pthread_cleanup_pop does not work for C++ > programs. The cleanup routine passed to pthread_cleanup_push will not > be called when the thread is cancelled. > 2. Class destructors for locally scoped (stack based) classes are not > called when the thread is cancelled. > > Are you suggesting #1 is not a bug?
I'm saying that #1 is definitely a bug no matter what, but #2 is only a bug in the sense that NPTL is trying to provide you an extra feature outside the scope of the standard (and failing to do so). Relying on #2 (and using cancellation in any situation where there are destructors that would need to be called) is NOT PORTABLE and means your program will only work on glibc (or, once it's fixed, uClibc) based systems. Rich P.S. Please use the mailing list (reply to list, not to me). _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
