diff --git a/include/boost/serialization/singleton.hpp b/include/boost/serialization/singleton.hpp index cce2d26e..b9d4fa0f 100644 --- a/include/boost/serialization/singleton.hpp +++ b/include/boost/serialization/singleton.hpp @@ -87,9 +87,17 @@ class BOOST_SYMBOL_VISIBLE singleton_module : private: static bool & get_lock(); public: - BOOST_SERIALIZATION_DECL static void lock(); - BOOST_SERIALIZATION_DECL static void unlock(); - BOOST_SERIALIZATION_DECL static bool is_locked(); + BOOST_SERIALIZATION_DECL static void lock(){ + get_lock() = true; + } + + BOOST_SERIALIZATION_DECL static void unlock(){ + get_lock() = false; + } + + BOOST_SERIALIZATION_DECL static bool is_locked(){ + return get_lock(); + } }; #include // pops abi_suffix.hpp pragmas diff --git a/src/singleton.cpp b/src/singleton.cpp index b8078c1b..731c9aff 100644 --- a/src/singleton.cpp +++ b/src/singleton.cpp @@ -22,15 +22,17 @@ bool & singleton_module::get_lock(){ return lock; } +#if 0 BOOST_SERIALIZATION_DECL void singleton_module::lock(){ get_lock() = true; } BOOST_SERIALIZATION_DECL void singleton_module::unlock(){ get_lock() = false; } -BOOST_SERIALIZATION_DECL bool singleton_module::is_locked() { +BOOST_SERIALIZATION_DECL bool singleton_module::is_locked(){ return get_lock(); } +#endif } // namespace serialization } // namespace boost