All pastes #984585 Raw Edit

Stuff

public text v1 · immutable
·published 2008-04-14 12:32 UTC
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");

	int cnt = 0;
	int res = 0;
	while(!bStop)
	{
		if(cnt > 500)
		{
			sLog.outString("Socket thread iteration");
			cnt = 0;
		}
		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();
		cnt++;
	}
	sLog.outString("<Socket manager> Socket worker thread is finished");
}