Previously this happened inside the TlsStream constructor
during the first connection attempt.
int SocketEvents::m_NextID = 0;
+INITIALIZE_ONCE(&SocketEvents::InitializeEngine);
+
void SocketEventEngine::Start()
{
for (int tid = 0; tid < SOCKET_IOTHREADS; tid++) {
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);
}
void *GetEnginePrivate() const;
void SetEnginePrivate(void *priv);
+ static void InitializeEngine();
+
protected:
SocketEvents(const Socket::Ptr& socket, Object *lifesupportObject);
static int m_NextID;
- static void InitializeEngine();
-
void WakeUpThread(bool wait = false);
void Register(Object *lifesupportObject);