Einzelnen Beitrag anzeigen

heri

Registriert seit: 20. Mär 2006
81 Beiträge
 
Delphi 2006 Enterprise
 
#1

Speicherleck im Indy Server!?

  Alt 5. Jun 2006, 13:29
Ich habe eine Applikation mit einem IndyServer, bei der mir der FastMM Speicherlöcher anzeigt.
Auf der Suche nach dem Fehler habe ich folgenden Code in IdThread.pas gefunden:

initialization
SetThreadName('Main'); {do not localize}
GThreadCount := TIdThreadSafeInteger.Create;

finalization
// This call hangs if not all threads have been properly destroyed.
// But without this, bad threads can often have worse results. Catch 22.
// TIdThread.WaitAllThreadsTerminated;

{$IFDEF IDFREEONFINAL}
//only enable this if you know your code exits thread-clean
Sys.FreeAndNil(GThreadCount);
{$ENDIF}


Nun ja - im initialization gibt's ein TIdThreadSafeInteger.Create, aber im finalization wird dies nur mit einem DebuggerSwitch freigegeben.
Hat das auch schon jemand entdeckt?

Was heisst denn ThreadClean? genügt ein {$DEFINE IDFREEONFINAL} und wo soll ich den am besten hintun?
  Mit Zitat antworten Zitat