Hi,

I posted this earlier on opensuse-programming but that list seems to be
pretty quiet. So I will give it a try here.

Since going to opensuse 10.2 we have found a problem with pthread
cleanup handlers not being called on pthread_cancel and under certain
conditions on pthread_exit from within C++ programs.

The issue is that cleanup handlers put onto a threads cleanup stack via
pthread_cleanup_push() should be called when a thread is canceled or
exits. In some cases that is not happening. This only appears to be an
issue with C++ programs that have exceptions enabled (default). It
doesn't happen with C programs or if exceptions are disabled by using
-fno-exceptions. This is not a viable solution.

The issue is well documented as a glibc bug here:
http://sourceware.org/bugzilla/show_bug.cgi?id=4123, so I won't repeat
all of the details here. Unfortunately, this is a critical bug and it
has been sitting open since March 2 without any visible activity other
than my recent activity.

Does anyone have suggestions about how to possibly work around this
issue or to help move things along?

Thanks,

-- 
        kr
-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to