X-Git-Url: http://www.lcore.org/git/lcore.git/blobdiff_plain/9763940f8849e5c807566157829a1e6d2c9172ee..2ba734680253339d8b27208a1dfec5e2f220f3d8:/lcoreselect.pas

diff --git a/lcoreselect.pas b/lcoreselect.pas
index f613f67..ad81600 100644
--- a/lcoreselect.pas
+++ b/lcoreselect.pas
@@ -69,7 +69,7 @@ var
   temptimer               : tltimer  ;
 
 begin
-  gettimeofday(tvnow);
+  gettimemonotonic(tvnow);
   currenttimer := firsttimer;
   while assigned(currenttimer) do begin
     //writeln(currenttimer.enabled);
@@ -190,7 +190,7 @@ begin
     prepsigpipe;
   {$endif}
   selectresult := select(maxs+1,@fdsr,@fdsw,nil,0);
-  while (selectresult>0) or assigned(firsttask) or assigned(currenttask) do begin;
+  while (selectresult>0) or assigned(firsttask) do begin;
 
     processtasks;
     processtimers;
@@ -249,7 +249,7 @@ begin
     fd_zero(FDSW);
     if result=-1 then begin
       if linuxerror = SYS_EINTR then begin
-        // we received a signal it's not a problem
+        // we received a signal it is not a problem
       end else begin
         raise esocketexception.create('select returned error '+inttostr(linuxerror));
       end;
@@ -309,7 +309,7 @@ begin
       selectresult := doselect(nil);
 
     end else begin
-      gettimeofday(tvnow);
+      gettimemonotonic(tvnow);
       tv_subtract(tv,tvnow);
 
       //writeln('timers active');