make dnsasync better handle cleanup of a partially constructed instance
[lcore.git] / lcore.pas
index 6effe0e0bad0165f76bc606dafeddd4275163f06..69da11ea8089e1bebbe7b3377755c778463691d4 100755 (executable)
--- a/lcore.pas
+++ b/lcore.pas
@@ -73,8 +73,8 @@ interface
     TSendData          = procedure (Sender: TObject; BytesSent: Integer) of object;\r
 \r
     tlcomponent = class(tcomponent)\r
-    private
-      procedure releasetaskhandler(wparam,lparam:longint);
+    private\r
+      procedure releasetaskhandler(wparam,lparam:longint);\r
     public\r
       procedure release; virtual;\r
       destructor destroy; override;\r
@@ -283,15 +283,15 @@ begin
   inherited destroy;\r
 end;\r
 \r
-procedure tlcomponent.releasetaskhandler(wparam,lparam:longint);
-begin
-  free;
-end;
+procedure tlcomponent.releasetaskhandler(wparam,lparam:longint);\r
+begin\r
+  free;\r
+end;\r
 \r
 \r
 procedure tlcomponent.release;\r
 begin\r
-  addtask(releasetaskhandler,self,0,0);
+  addtask(releasetaskhandler,self,0,0);\r
 end;\r
 \r
 procedure tlasio.release;\r
@@ -485,7 +485,10 @@ var
 //  fdstestr : fdset;\r
 //  fdstestw : fdset;\r
 begin\r
-  if state <> wsconnected then exit;\r
+  if state <> wsconnected then begin\r
+    result := -1;\r
+    exit;\r
+  end;\r
 \r
   lensent := sendq.get(data,packetbasesize*2);\r
   if assigned(data) then result := myfdwrite(fdhandleout,data^,lensent) else result := 0;\r