]> granicus.if.org Git - icinga2/commitdiff
Revert "Initialize Socket Event Engine on application startup" 6664/head
authorMichael Friedrich <michael.friedrich@icinga.com>
Tue, 9 Oct 2018 17:38:29 +0000 (19:38 +0200)
committerMichael Friedrich <michael.friedrich@icinga.com>
Tue, 9 Oct 2018 17:38:29 +0000 (19:38 +0200)
This reverts commit c8dcd1297f6d0be8685c5a3079e40fc44e779add.

We cannot do this during application startup, since Daemonize()
kills the threads again.

refs #6514
refs #6630

lib/base/socketevents.cpp
lib/base/socketevents.hpp

index 0e2be5017b8bdc646b96848ca3289193a4b41b5e..b967a345fff6181ff497df7ff0a507f05169abe7 100644 (file)
@@ -35,8 +35,6 @@ static SocketEventEngine *l_SocketIOEngine;
 
 int SocketEvents::m_NextID = 0;
 
-INITIALIZE_ONCE(&SocketEvents::InitializeEngine);
-
 void SocketEventEngine::Start()
 {
        for (int tid = 0; tid < SOCKET_IOTHREADS; tid++) {
@@ -116,6 +114,8 @@ void SocketEvents::InitializeEngine()
 SocketEvents::SocketEvents(const Socket::Ptr& socket, Object *lifesupportObject)
        : m_ID(m_NextID++), m_FD(socket->GetFD()), m_EnginePrivate(nullptr)
 {
+       boost::call_once(l_SocketIOOnceFlag, &SocketEvents::InitializeEngine);
+
        Register(lifesupportObject);
 }
 
index fce7eef86c370b1e7122d62c94bf7219df11c71d..360a034770beb804596e99f27423a657c72fba4f 100644 (file)
@@ -53,8 +53,6 @@ public:
        void *GetEnginePrivate() const;
        void SetEnginePrivate(void *priv);
 
-       static void InitializeEngine();
-
 protected:
        SocketEvents(const Socket::Ptr& socket, Object *lifesupportObject);
 
@@ -66,6 +64,8 @@ private:
 
        static int m_NextID;
 
+       static void InitializeEngine();
+
        void WakeUpThread(bool wait = false);
 
        void Register(Object *lifesupportObject);