diff options
Diffstat (limited to 'libstdc++-v3/src/misc-inst.cc')
-rw-r--r-- | libstdc++-v3/src/misc-inst.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libstdc++-v3/src/misc-inst.cc b/libstdc++-v3/src/misc-inst.cc index 74224b1d983..61cb1b36449 100644 --- a/libstdc++-v3/src/misc-inst.cc +++ b/libstdc++-v3/src/misc-inst.cc @@ -87,3 +87,21 @@ namespace std string*, __false_type); #endif } // namespace std + +#ifdef _GLIBCPP_NEED_GENERIC_MUTEX +namespace __gnu_cxx +{ +#ifdef __GTHREAD_MUTEX_INIT + __gthread_mutex_t _Atomic_add_mutex = __GTHREAD_MUTEX_INIT; +#else + // generic atomicity.h without static initialization + __gthread_mutex_t _Atomic_add_mutex; + __gthread_once_t _Atomic_add_mutex_once = __GTHREAD_ONCE_INIT; + void __gthread_atomic_add_mutex_once() + { + __GTHREAD_MUTEX_INIT_FUNCTION (&_Atomic_add_mutex); + } +#endif +} // namespace __gnu_cxx +#endif // _GLIBCPP_NEED_GLOBAL_MUTEX + |