------- Comment #8 from pinskia at gcc dot gnu dot org 2009-03-05 20:11 ------- (In reply to comment #7) > OK but shouldn't libstdc++ handle static __thread variables cleaning for > exceptions? libc doesn't know about exceptions.
Again there is no problem with the libstdc++ source. So libstdc++'s exception handler contains a thread local data variable (global). So when a thread is created and this function is called ld.so creates a memory location for this variable. When the thread is destroyed (finished), glibc should have freed the memory location for this variable. libstdc++ is not in control of creating or freeing this variable at all. It is up to libc to do that. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Component|libstdc++ |middle-end Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39366