All pastes #991807 Raw Edit

Stuff

public text v1 · immutable
#991807 ·published 2008-04-21 11:58 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 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");
}