Просмотр исходного кода

* fix memory leak in TFPCustomSimpleThreadPool.TThreadPoolList

(cherry picked from commit f4cc2447a2c9b751c0c31b35dcd9b92e3fd07749)
Ondrej Pokorny 3 лет назад
Родитель
Сommit
3d2b1f062e
1 измененных файлов с 7 добавлено и 0 удалено
  1. 7 0
      packages/fcl-base/src/fpthreadpool.pp

+ 7 - 0
packages/fcl-base/src/fpthreadpool.pp

@@ -189,6 +189,7 @@ Type
          Procedure ThreadTerminated(Sender : TObject);
          Procedure ThreadTerminated(Sender : TObject);
        public
        public
          Constructor CreateList(aPool : TFPCustomSimpleThreadPool); override;
          Constructor CreateList(aPool : TFPCustomSimpleThreadPool); override;
+         Destructor Destroy; override;
          Procedure TerminateThreads; override;
          Procedure TerminateThreads; override;
          Function GetAvailableThread : TAbstractTaskThread; override;
          Function GetAvailableThread : TAbstractTaskThread; override;
          Function AddThread : TAbstractTaskThread; override;
          Function AddThread : TAbstractTaskThread; override;
@@ -446,6 +447,12 @@ begin
   FList:=TThreadList.Create;
   FList:=TThreadList.Create;
 end;
 end;
 
 
+destructor TFPCustomSimpleThreadPool.TThreadPoolList.Destroy;
+begin
+  FreeAndNil(FList);
+  Inherited;
+end;
+
 function TFPCustomSimpleThreadPool.TThreadPoolList.GetAvailableThread: TAbstractTaskThread;
 function TFPCustomSimpleThreadPool.TThreadPoolList.GetAvailableThread: TAbstractTaskThread;
 
 
 Var
 Var