------- Additional Comments From gdr at integrable-solutions dot net 2005-05-02 16:40 ------- Subject: Re: Lack of Posix compliant thread safety in std::basic_string
"rittle at latour dot waar dot labs dot mot dot com" <[EMAIL PROTECTED]> writes: | Subject: Re: New: Lack of Posix compliant thread safety in | std::basic_string | | >I am sending this to the g++ bug list on the recommendation of | >Gabriel Dos Reis. From what little I've read in the g++ | >documentation, I'm not convinced that the authors of the g++ | >library intend for it to be supported, although Posix would seem | >to require it. | | Firstly, POSIX says nothing about C++ That statement is correct. However, we have also taken step to tell users to specify the threading model the compiler, therefore the library, is to be built with. Therefore, we have created expecttations. We can't reasonably go and tell users that C++ standard does not say anything about threading, so we would be right to do whatever we like. Either we decide to ignore threading completely, or we take the more useful apporach (as we've done so far) and take reports seriously. You have a long standing record to take these issues seriously and I'm glad you're weighting in. | Secondly, it is clear that your bug report is hypothetical. The | library maintainers do not typically deal in hypotheticals. thread-safety issues are hard to debug/reproduce, so some amounts of reasoning "in abstract" is necessary -- I would not go far as calling it hypotheticals. What I told James was that it would very much appreciated if he could give a testcase that reproduces or is likely to reproduce the problem -- acknowledging the fact that it may be hard to get all the circumstances right simultaneously in order to trigger the problem. You probably got the mail about users saying that he read on C++ newsgroups that V3-s implementation of std::string is known to be avoided in multi-threaded programs. When I read similar claims from James, I could not help but suggest that he make a PR if he found that to be true. Which is how we're here. -- Gaby -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21334