__rw_locale::_C_manage() uses mutex based __rw_atomic_preincrement() even if 
platform supports the native atomic operations
---------------------------------------------------------------------------------------------------------------------------

                 Key: STDCXX-792
                 URL: https://issues.apache.org/jira/browse/STDCXX-792
             Project: C++ Standard Library
          Issue Type: Bug
          Components: 22. Localization
    Affects Versions: 4.2.0, 4.1.4, 4.1.3, 4.1.2
         Environment: All
            Reporter: Farid Zaripov
            Assignee: Farid Zaripov
             Fix For: 4.2.1


In __rw_locale::_C_manage() (src/locale_body.cpp, line 808), the static 
variable ginit declared as volatile, but __rw_atomic_preincrement() functions, 
which are implemented using atomic operations, accepting the non-volatile 
reference in parameter list. As a result the template version 
__rw_atomic_preincrement<volatile long>() (which is implemented using mutex 
object) is used.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to