Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.1.2, 4.1.3, 4.1.4, 4.2.0
-
None
-
All
-
Patch Available
-
Inefficiency
Description
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.
Attachments
Issue Links
- relates to
-
STDCXX-794 The non-template __rw_atomic_xxx() functions should accept the volatile reference
- Open