rendered paste bodyvoid 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");
int res = 0;
while(!bStop)
{
Sleep(10);
res = event_base_loop(sSocketManager.GetEventBase(), 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. Continue.");
sSocketManager.ClearErasedSockets();
}
sLog.outString("<Socket manager> Socket worker thread is finished");
}