All pastes #979510 Raw Edit

Untitled

public text v1 · immutable
·published 2008-04-10 12:32 UTC
rendered paste body
int SocketReaderRunnable::Execute()
{
	if(!sSocketManager.GetEventBase())
	{
		sLog.outError("<Socket manager> Couldn't start Socket worker thread. Event_base is wrong!");
		return 1;
	}

	sLog.outString("<Socket manager> Socket worker thread is started");

	uint32 counter = 0;
	while(!bStop)
	{
		sLog.outString("<Socket thread> Ping...");
		if( event_base_loop(sSocketManager.GetEventBase(), EVLOOP_ONCE) == -1 )
		{
			sLog.outError("<Socket manager> Critical error is occured in event_loot. Exit.");
			sSocketManager.DisconnectAll();
			return 1;
		}
		counter++;
		if(counter > 100)
		{
			sLog.outString("<Socket thread> ...Pong");
			counter = 0;
		}
		sSocketManager.ClearErasedSockets();
	}
	sLog.outString("<Socket manager> Socket worker thread is finished");
	return 1;
}