pthread_cleanup_push not working with uClibc

Rich Felker dalias at
Wed Feb 29 02:55:36 UTC 2012

On Tue, Feb 28, 2012 at 06:50:04PM -0500, Alan Cooper wrote:
> I'm not sure what you mean by non-portable and undefined. It seems

I mean that depending on this behavior with POSIX threads and C++ is
not portable.

> well defined for Posix threads. pthread.h actually uses a C++ class
> for pthread_cleanup_push/pop if __cpluscplus is defined. I have it

This is a consequence of the particular glibc/NPTL implementation
which uclibc has copied (but sometimes not quite right, thus the fact
that it's not working for you at the moment). It's not required by any
standard and probably you won't get this behavior from most other


More information about the uClibc mailing list