On 09/24/12 23:50, Stefan Teleman wrote:
On Mon, Sep 24, 2012 at 10:03 PM, Martin Sebor <mse...@gmail.com> wrote:
FWIW, there are race conditions in stdcxx. Some of them are by
design and benign on the systems the library runs on (although
I acknowledge that some others may be bugs). One such benign
date race is:

   time    T1      T2
     0    x = N
     1    x = N   read x

where x is a scalar that can be accessed atomically by the CPU
and the compiler.

I think some of the lazy facet initialization falls under this
class. It would be nice to fix them but only if it doesn't slow
things down. The others need to be fixed in any case.

The race conditions I am talking about are not benign.

Caching failures aside, we have no failing tests. Before saying they are malign 
you need to objectively show a failing program.


It shows the types of race conditions it's reporting: these are
read/write race conditions, not read/read. The thread analyzer's html
filter doesn't show the types of races reported as clearly as the
command-line analyzer which has a windowing GUI.

Martin's example above is a read-write race. In the absence of a failing test 
case it is quite unreasonable to modify the current implementation.

Liviu

Reply via email to