]> granicus.if.org Git - icinga2/commitdiff
Fix INITIALIZE_ONCE().
authorGunnar Beutner <gunnar.beutner@netways.de>
Thu, 1 Aug 2013 09:14:33 +0000 (11:14 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Thu, 1 Aug 2013 09:15:11 +0000 (11:15 +0200)
lib/base/initialize.h
lib/ido/dbconnection.cpp
lib/ido/dbconnection.h
lib/ido/dbobject.cpp
lib/ido/dbobject.h

index 0a841fa5f5b814d9088300a9d0a192a465668a94..22cb129259d970d137760e5cfc3db259628a4386 100644 (file)
@@ -34,8 +34,8 @@ inline bool InitializeOnceHelper(InitializeFunc func)
        return true;
 }
 
-#define INITIALIZE_ONCE(func) \
-       static bool l_InitializeOnce ## __LINE__(InitializeOnceHelper(func));
+#define INITIALIZE_ONCE(name, func) \
+       bool l_InitializeOnce ## name(InitializeOnceHelper(func));
 
 }
 
index 5fd6ec2332c6d917574864e88edb4ef9ed5d55e3..408d5270ca5fbb833d06911006749f017dd3055f 100644 (file)
@@ -29,7 +29,7 @@ using namespace icinga;
 
 Timer::Ptr DbConnection::m_ProgramStatusTimer;
 
-INITIALIZE_ONCE(&DbConnection::StaticInitialize);
+INITIALIZE_ONCE(DbConnection, &DbConnection::StaticInitialize);
 
 DbConnection::DbConnection(const Dictionary::Ptr& serializedUpdate)
        : DynamicObject(serializedUpdate)
index d98388b8c5ff6aabd79170adaadfa0664fabadb0..7aa2163b241049d46b8f35a8dab7212cb6bcc2e2 100644 (file)
@@ -40,6 +40,8 @@ public:
 
        DbConnection(const Dictionary::Ptr& serializedUpdate);
 
+       static void StaticInitialize(void);
+
        void SetReference(const DbObject::Ptr& dbobj, const DbReference& dbref);
        DbReference GetReference(const DbObject::Ptr& dbobj) const;
 
@@ -60,7 +62,6 @@ private:
        std::map<DbObject::Ptr, DbReference> m_References;
        static Timer::Ptr m_ProgramStatusTimer;
 
-       static void StaticInitialize(void);
        static void ProgramStatusHandler(void);
 
        friend class DbType;
index 7d6327f967a69599a936824c26d933e1d9257f06..c9f4d559a03c90f72dc0879b7c1d5f6a8dac9700 100644 (file)
@@ -34,7 +34,7 @@ boost::signals2::signal<void (const DbObject::Ptr&)> DbObject::OnRegistered;
 boost::signals2::signal<void (const DbObject::Ptr&)> DbObject::OnUnregistered;
 boost::signals2::signal<void (const DbQuery&)> DbObject::OnQuery;
 
-INITIALIZE_ONCE(&DbObject::StaticInitialize);
+INITIALIZE_ONCE(DbObject, &DbObject::StaticInitialize);
 
 DbObject::DbObject(const shared_ptr<DbType>& type, const String& name1, const String& name2)
        : m_Name1(name1), m_Name2(name2), m_Type(type), m_LastConfigUpdate(0), m_LastStatusUpdate(0)
index 0f6d47d7195e0f13272fdb36e41c33cb5bc3a4cb..69486e70f69d63b2a22b5411f59dfdf0110a911d 100644 (file)
@@ -46,6 +46,8 @@ class DbObject : public Object
 public:
        DECLARE_PTR_TYPEDEFS(DbObject);
 
+       static void StaticInitialize(void);
+
        void SetObject(const DynamicObject::Ptr& object);
        DynamicObject::Ptr GetObject(void) const;
 
@@ -87,8 +89,6 @@ private:
 
        friend boost::shared_ptr<DbObject> boost::make_shared<>(const icinga::String&, const icinga::String&);
 
-       static void StaticInitialize(void);
-
        static void ObjectRegisteredHandler(const DynamicObject::Ptr& object);
        static void ObjectUnregisteredHandler(const DynamicObject::Ptr& object);
        static void AttributesChangedHandler(const DynamicObject::Ptr& object, const std::set<String, string_iless>& attributes);