rendered paste body
void SocketReaderRunnable::run()
{
if(!sSocketManager.GetEventBase())
{
sLog.outError("<Socket manager> Couldn't start Socket worker thread. Event_base is wrong!");
return;
}
sLog.outString("<Socket manager> Socket worker thread is started");
event_base* pBase = sSocketManager.GetEventBase();
int res = 0;
while(!bStop)
{
if(pBase != sSocketManager.GetEventBase())
sLog.outError("FATAL!!!!");
Sleep(10);
res = event_base_loop(pBase, EVLOOP_ONCE);
// 0 if successful,
// -1 if an error occurred
// 1 if no events were registered.
if(res == -1)
{
sLog.outError("<Socket manager> Critical error is occured in event_loot. Exit.");
sSocketManager.DisconnectAll();
break;
}
else if(res == 1)
{
sLog.outError("<Socket manager> No events registered for event_loot. Lets check.");
sSocketManager.Debug_CheckSockets();
}
sSocketManager.ClearErasedSockets();
}
sLog.outString("<Socket manager> Socket worker thread is finished");
}