X-Git-Url: http://www.lcore.org/git/lcore.git/blobdiff_plain/85ef2ce64f0cc31a063fccea69fdcc7281d51548..2d2676149292e4e388bb102a41a3d64349ac88ed:/lcoreselect.pas

diff --git a/lcoreselect.pas b/lcoreselect.pas
index 16134ee..df2501a 100755
--- a/lcoreselect.pas
+++ b/lcoreselect.pas
@@ -21,7 +21,7 @@ uses
   {$ifdef VER1_0}
     linux,
   {$else}
-    baseunix,unix,unixutil,
+    baseunix,unix,unixutil,sockets,
   {$endif}
   fd_utils;
 var
@@ -38,11 +38,11 @@ uses
   lcore,sysutils,
   classes,pgtypes,bfifo,
   {$ifndef nosignal}
-    lsignal;
+    lsignal,
   {$endif}
+  ltimevalstuff;
 
 {$include unixstuff.inc}
-{$include ltimevalstuff.inc}
 
 const
   absoloutemaxs_select = (sizeof(fdset)*8)-1;
@@ -84,7 +84,6 @@ begin
     end;
     temptimer := currenttimer;
     currenttimer := currenttimer.nexttimer;
-    if temptimer.released then temptimer.free;
   end;
 end;
 
@@ -135,17 +134,6 @@ begin
     end;
   end;
 
-  if asinreleaseflag then begin
-    asinreleaseflag := false;
-    currentsocket := firstasin;
-    while assigned(currentsocket) do begin
-      tempsocket := currentsocket;
-      currentsocket := currentsocket.nextasin;
-      if tempsocket.released then begin
-        tempsocket.free;
-      end;
-    end;
-  end;
   {
   !!! issues:
   - sockets which are released may not be freed because theyre never processed by the loop
@@ -295,25 +283,6 @@ begin
   repeat
 
     //the message loop will exit if all lasio's and ltimer's and lsignal's are destroyed
-    if (not assigned(firstasin)) and (not assigned(firsttimer)) {$ifndef nosignal} and (not assigned(firstsignal)){$endif} then exit;
-    {fd_zero(FDSR);
-    fd_zero(FDSW);
-    currentsocket := firstasin;
-    if not assigned(currentsocket) then exit; //the message loop will exit if all lsockets are destroyed
-
-    repeat
-      if (not currentsocket.released) and (currentsocket.state<>wsclosed) then fd_set(currentsocket.fdhandlein,fdsr);
-      if (not currentsocket.released) and (currentsocket.state=wsconnecting) then fd_set(currentsocket.fdhandleout,fdsw);
-      if currentsocket is tlsocket then begin
-         if (not currentsocket.released) and (currentsocket.state=wsconnected) and(tlsocket(currentsocket).sendq <> '') then fd_set(currentsocket.fdhandleout,fdsw);
-      end;
-      tempsocket := currentsocket;
-      currentsocket := currentsocket.nextasin;
-      if tempsocket.released then begin
-        tempsocket.free;
-      end;
-    until not assigned(currentsocket);
-    }
     processtasks;
     //currenttask := nil;
     {beware}