- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
initialization
//done this way so we can have a separate stack just for FPC under Unix systems
GStackClass :=
{$IFDEF USE_VCL_POSIX}
TIdStackVCLPosix
{$ELSE}
{$IFDEF UNIX}
{$IFDEF KYLIXCOMPAT}
TIdStackLibc
{$ENDIF}
{$IFDEF USE_BASEUNIX}
TIdStackUnix
{$ENDIF}
{$ENDIF}
{$IFDEF WINDOWS}
TIdStackWindows
{$ENDIF}
{$IFDEF DOTNET}
TIdStackDotNet
{$ENDIF}
{$ENDIF}
;
GStackCriticalSection := TIdCriticalSection.Create;
{$IFNDEF DOTNET}
{$IFDEF REGISTER_EXPECTED_MEMORY_LEAK}
IndyRegisterExpectedMemoryLeak(GStackCriticalSection);
{$ENDIF}
{$ENDIF}
finalization
// Dont Free. If shutdown is from another Init section, it can cause GPF when stack
// tries to access it. App will kill it off anyways, so just let it leak
{$IFDEF FREE_ON_FINAL}
FreeAndNil(GStackCriticalSection);
{$ENDIF}
end.
Выдержка из IdStack.pas. Без комментариев.
Предыcтория.
fastmm постоянно сообщал об утечках памяти в моих программах, использующих Indy: решил разобраться.
Оказалось, что ошибки возникали при использовании IdStack, по умолчанию этот модуль используют почти все компоненты из палитры.
brutushafens 11.04.2014 17:29 # +1
Мистер Хэнки 11.04.2014 17:43 # +1
brutushafens 11.04.2014 17:45 # +1
roman-kashitsyn 11.04.2014 17:58 # +1
brutushafens 11.04.2014 18:11 # +1
eth0 11.04.2014 20:51 # 0
Vasiliy 07.09.2014 09:41 # 0
eth0 07.09.2014 18:45 # 0
TarasB 07.09.2014 22:17 # 0
inkanus-gray 07.09.2014 22:23 # 0
inkanus-gray 07.09.2014 22:30 # +1
kegdan 08.09.2014 05:54 # 0
bormand 08.09.2014 05:58 # 0
Я просто оставлю это здесь.
kegdan 08.09.2014 06:13 # 0
eth0 08.09.2014 17:16 # +2
inkanus-gray 09.09.2014 19:01 # 0
А такое рискнули бы?
eth0 08.09.2014 17:16 # 0