mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-24 14:14:45 +02:00
parent
b858a05f15
commit
e7938c9374
@ -26,7 +26,6 @@
|
|||||||
#include "base/convert.hpp"
|
#include "base/convert.hpp"
|
||||||
#include "base/objectlock.hpp"
|
#include "base/objectlock.hpp"
|
||||||
#include "base/utility.hpp"
|
#include "base/utility.hpp"
|
||||||
#include "base/initialize.hpp"
|
|
||||||
#include "base/logger.hpp"
|
#include "base/logger.hpp"
|
||||||
#include "base/function.hpp"
|
#include "base/function.hpp"
|
||||||
#include "base/exception.hpp"
|
#include "base/exception.hpp"
|
||||||
@ -38,8 +37,7 @@ REGISTER_TYPE(DbConnection);
|
|||||||
REGISTER_SCRIPTFUNCTION(ValidateFailoverTimeout, &DbConnection::ValidateFailoverTimeout);
|
REGISTER_SCRIPTFUNCTION(ValidateFailoverTimeout, &DbConnection::ValidateFailoverTimeout);
|
||||||
|
|
||||||
Timer::Ptr DbConnection::m_ProgramStatusTimer;
|
Timer::Ptr DbConnection::m_ProgramStatusTimer;
|
||||||
|
boost::once_flag DbConnection::m_OnceFlag = BOOST_ONCE_INIT;
|
||||||
INITIALIZE_ONCE(&DbConnection::StaticInitialize);
|
|
||||||
|
|
||||||
void DbConnection::OnConfigLoaded(void)
|
void DbConnection::OnConfigLoaded(void)
|
||||||
{
|
{
|
||||||
@ -51,6 +49,8 @@ void DbConnection::OnConfigLoaded(void)
|
|||||||
|
|
||||||
SetHAMode(HARunEverywhere);
|
SetHAMode(HARunEverywhere);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boost::call_once(m_OnceFlag, InitializeDbTimer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DbConnection::Start(void)
|
void DbConnection::Start(void)
|
||||||
@ -83,7 +83,7 @@ void DbConnection::Pause(void)
|
|||||||
m_CleanUpTimer.reset();
|
m_CleanUpTimer.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DbConnection::StaticInitialize(void)
|
void DbConnection::InitializeDbTimer(void)
|
||||||
{
|
{
|
||||||
m_ProgramStatusTimer = new Timer();
|
m_ProgramStatusTimer = new Timer();
|
||||||
m_ProgramStatusTimer->SetInterval(10);
|
m_ProgramStatusTimer->SetInterval(10);
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#include "db_ido/dbobject.hpp"
|
#include "db_ido/dbobject.hpp"
|
||||||
#include "db_ido/dbquery.hpp"
|
#include "db_ido/dbquery.hpp"
|
||||||
#include "base/timer.hpp"
|
#include "base/timer.hpp"
|
||||||
|
#include <boost/thread/once.hpp>
|
||||||
|
|
||||||
namespace icinga
|
namespace icinga
|
||||||
{
|
{
|
||||||
@ -39,7 +40,7 @@ class I2_DB_IDO_API DbConnection : public ObjectImpl<DbConnection>
|
|||||||
public:
|
public:
|
||||||
DECLARE_OBJECT(DbConnection);
|
DECLARE_OBJECT(DbConnection);
|
||||||
|
|
||||||
static void StaticInitialize(void);
|
static void InitializeDbTimer(void);
|
||||||
|
|
||||||
void SetObjectID(const DbObject::Ptr& dbobj, const DbReference& dbref);
|
void SetObjectID(const DbObject::Ptr& dbobj, const DbReference& dbref);
|
||||||
DbReference GetObjectID(const DbObject::Ptr& dbobj) const;
|
DbReference GetObjectID(const DbObject::Ptr& dbobj) const;
|
||||||
@ -96,6 +97,7 @@ private:
|
|||||||
virtual void ClearConfigTable(const String& table) = 0;
|
virtual void ClearConfigTable(const String& table) = 0;
|
||||||
|
|
||||||
static Timer::Ptr m_ProgramStatusTimer;
|
static Timer::Ptr m_ProgramStatusTimer;
|
||||||
|
static boost::once_flag m_OnceFlag;
|
||||||
|
|
||||||
static void InsertRuntimeVariable(const String& key, const Value& value);
|
static void InsertRuntimeVariable(const String& key, const Value& value);
|
||||||
static void ProgramStatusHandler(void);
|
static void ProgramStatusHandler(void);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user