stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Teleman <>
Subject Re: STDCXX-1056 [was: Re: STDCXX forks]
Date Tue, 18 Sep 2012 12:55:37 GMT
On Mon, Sep 17, 2012 at 11:17 AM, Liviu Nicoara <> wrote:
> I hope you agree that this synchronization is sufficient for the facet
> initialization and reading of facet data.

I have reduced the number of reported race conditions in from 12440:

to 288:

The changes are in the following files:

_numpunct.h looks like this:

With these changes, no races conditions are repoted for any of the
functions in std::numpunct<T>.

Still, there are 288 race conditions being reported in
__rw_locale::__rw_locale and in std::locale::_C_get_facet. We need to
identify the source and cause of these race conditions and correct
them as well.

This is not a complete solution to the problem, because we still have
to re-write the chunk of code I eliminated from facet.cpp. It is only
step one towards finding a real solution. But, at least for now, we
have pinpointed where the source of these race conditions is located,
and what causing it.

The test program was run as: ./ --nthreads=8

More to follow.


Stefan Teleman
KDE e.V.

View raw message