This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/55471] c++ mutex does not work as expected
- From: "redi at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 26 Nov 2012 19:26:43 +0000
- Subject: [Bug libstdc++/55471] c++ mutex does not work as expected
- Auto-submitted: auto-generated
- References: <bug-55471-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55471
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |INVALID
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-11-26 19:26:43 UTC ---
See [basic.start.term] in the standard
If there is a use of a standard library object or function not permitted within
signal handlers (18.10) that does not happen before (1.10) completion of
destruction of objects with static storage duration and execution of
std::atexit registered functions (18.5), the program has undefined behavior.
[Note: If there is a use of an object with static storage duration that does
not happen before the objectâs destruction, the program has undefined behavior.
Terminating every thread before a call to std::exit or the exit from main is
sufficient, but not necessary, to satisfy these requirements. These
requirements permit thread managers as static-storage-duration objects. âend
note ]