This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: libstdc++/10193: Regression: iostreams no longer threadsafe
- From: ljrittle at gcc dot gnu dot org
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, peturr02 at ru dot is
- Date: 24 Mar 2003 22:05:04 -0000
- Subject: Re: libstdc++/10193: Regression: iostreams no longer threadsafe
- Reply-to: ljrittle at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, peturr02 at ru dot is, gcc-gnats at gcc dot gnu dot org
Synopsis: Regression: iostreams no longer threadsafe
State-Changed-From-To: open->feedback
State-Changed-By: ljrittle
State-Changed-When: Mon Mar 24 22:05:03 2003
State-Changed-Why:
In terms of there being a change in behavior, your observation is correct. However, we consider the new behavior to be in line with our published guidelines on application requirements to obtain correct thread safety. In sum, all library objects which are visibly shared across threads need to have application-level locking to obtain thread safety.
After reading the discussion on this topic in the library documentation,
please report your agreement or disagreement with this change.
FYI, this behavior has been stable since FSF gcc 3.0 was released.
Another FYI, in this particular case, the primary problem is that we don't know where interleaving of method calls on the global objects should be allowed or disallowed. Only the application really knows.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10193