Логотип игрового форума RF-Cheats.ru    
Новости онлайн игр Правила форума Чёрный рынок Реклама и привилегии Гаранты Арбитраж

Вернуться   Чит портал RF-Cheats.ru - форум читеров и ботоводов > > > >

Архив

: Старые, но рабочие вещи для RF Online серверов
Читы и обход фроста для RF Online без хайдаБоты и читы для Perfect World бесплатно без хайдаМоды и читы для World of Tanks (WoT) бесплатно без хайдаМоды и читы для Armored Warfare бесплатно без хайдаБоты и читы для DOTA 2 бесплатно без хайдаБоты и читы для Black Desert Online бесплатно без хайдаЧиты на ArcheAge бесплатно без хайдаЧиты для Warface бесплатно без хайдаВзлом ВКонтакте и ОдноклассниковСписок разделов со всеми играмиЧиты для онлайн игр



Закрытая тема
 
Сделать тему важной Опции темы
Старый 07.04.2012, 17:25   #1
gch
Гость
Аватар для gch
Сообщений: n/a
Благодарностей:
0 всего

Поведение rf при недостатке памяти


Читаю код, и вижу:
Код:
if (dataBuf==NULL) {

//		AfxMessageBox("JpegFile :\nOut of memory",MB_ICONSTOP);

		jpeg_destroy_decompress(&cinfo);
		
		fclose(infile);

		return NULL;
	}
или так
Код:
		tmp = (BYTE*)new BYTE[widthPix*height];
		if (tmp==NULL) {
//			AfxMessageBox("Memory error");
			return FALSE;
		}
(Функции занимающиеся преобразованиями между JpegFile и RGB буфером)
Как раньше мне казалось, в случае нехватки памяти надо как можно скорее завершать работу программы, разве это не так? В случае с Java, перехват OutOfMemoryException вроде бы deprecated. А в серверной части следует использовать многопоточность для таких случаев, и память выделять заранее, что бы избежать падения сервера из-за ресурсного превышения, комбинируя подход с установкой пределов для отдельных исполнителей (используя, например, ulimit). Так, основной части сервера всегда останется память, а дочерние обработчики не смогут захватить всех ресурсов. Не могли бы вы пояснить такую особенность проектирования?

И еще примеры:

Код:
BOOL
_CreateCharIF( LPDIRECT3DDEVICE8 pi_pD3DDevice )
{
	if( g_ifCharIF != NULL ) return FALSE;
	if( pi_pD3DDevice == NULL ) return FALSE;

	// *********52880;*********47533;*********53552; *********51064;*********53552;*********54168;*********51060;*********49828; *********44061;*********52404; *********49373;*********49457;
	if( ( g_ifCharIF == NULL ) && ( g_dwCharIFRefCnt == 0 ) )
	{
		g_ifCharIF = new ChInterface;

		if( g_ifCharIF == NULL ) return FALSE;
	}

	// *********52880;*********47533;*********53552; *********51064;*********53552;*********54168;*********51060;*********49828; *********52488;*********44592;*********54868;
	g_ifCharIF->InitCharacter( pi_pD3DDevice );

	return TRUE;
}
И несколько примеров без проверок(та логика по которой корейцы определяли необходимость проверки мне также не доступна) :
Код:
	g_pMeshMgr = new CUnityMeshMgr;

	g_pMeshMgr->Create();
Код:
	g_pAnimationMgr = new CUnityAniMgr;

	g_pAnimationMgr->Create();
Код:
BOOL
_CreateItemDataMgr( void )
{
	if( g_pItemDataMgr != NULL ) return FALSE;

	g_pItemDataMgr = new CItemDataMgr;

	return TRUE;
}
P.S. исходники брал отсюда, явно не полные, загуглились быстро.
 


Закрытая тема


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странное поведение поцека. Бонан Мошенничество 11 08.06.2011 15:07

Мир танков | Проект "Армата" | ArcheAge | Black Desert | РФ Онлайн | Айон | Майнкрафт | Браузерные игры
Элдер скролс | Р2 Онлайн | Реквием Онлайн | ПУБГ | Роял Квест | ГТА Санадреас | Контра | Дота 2
Мир кораблей | Лост Арк | Arma2 DayZ mod | The War Z | Карос: Начало | Tera Online
Читы для всех Онлайн-игр