ソースを参照

Merged revisions 4212 via svnmerge from
svn+ssh://svn.freepascal.org/FPC/svn/fpc/trunk

........
r4212 | michael | 2006-07-15 17:25:33 +0200 (Sat, 15 Jul 2006) | 1 line

+ Fixed memory leak in TIPCCserver
........

git-svn-id: branches/fixes_2_0@4213 -

michael 19 年 前
コミット
21fa57fc78
1 ファイル変更13 行追加6 行削除
  1. 13 6
      fcl/inc/simpleipc.pp

+ 13 - 6
fcl/inc/simpleipc.pp

@@ -242,6 +242,7 @@ end;
 destructor TSimpleIPCServer.destroy;
 begin
   Active:=False;
+  FreeAndNil(FMsgData);
   inherited destroy;
 end;
 
@@ -268,17 +269,23 @@ end;
 
 procedure TSimpleIPCServer.StartServer;
 begin
-  If (FServerID='') then
-    FServerID:=ApplicationName;
-  FIPCComm:=CommClass.Create(Self);
-  FIPCComm.StartServer;
+  if Not Assigned(FIPCComm) then
+    begin
+    If (FServerID='') then
+      FServerID:=ApplicationName;
+    FIPCComm:=CommClass.Create(Self);
+    FIPCComm.StartServer;
+    end;
   FActive:=True;
 end;
 
 procedure TSimpleIPCServer.StopServer;
 begin
-  FIPCComm.StopServer;
-  FreeAndNil(FIPCComm);
+  If Assigned(FIPCComm) then
+    begin
+    FIPCComm.StopServer;
+    FreeAndNil(FIPCComm);
+    end;
   FActive:=False;
 end;