replace internal uses of gettimeofday with monotonic time where appropriate. make...
[lcore.git] / lcoremessages.pas
index 8a2bd546a83354f230140460e0adf74590accaff..b67e4c0cfa7a996a67f230d7a0ba76e93c04ee55 100644 (file)
@@ -389,7 +389,7 @@ var
   result64: integer;\r
   tv : ttimeval;\r
 begin\r
-  gettimeofday(tv);\r
+  gettimemonotonic(tv);\r
   result64 := (tv.tv_sec*1000)+(tv.tv_usec div 1000);\r
   result := result64;\r
 end;\r
@@ -451,7 +451,7 @@ begin
     threaddata := findthreaddata(tm.GetCurrentThreadId);\r
     if threaddata.lcorethread then raise exception.create('get/peek message cannot be used in the lcore thread');\r
     message := threaddata.messagequeue;\r
-    gettimeofday(nowtv);\r
+    gettimemonotonic(nowtv);\r
     while (not peek) and (message=nil) and (not tv_compare(nowtv,threaddata.nexttimer)) do begin\r
       threaddata.waiting := true;\r
       structurelock.release;\r
@@ -461,7 +461,7 @@ begin
 \r
         timeouttv := threaddata.nexttimer;\r
         timeoutms := (timeouttv.tv_sec * 1000)+(timeouttv.tv_usec div 1000);\r
-        //i'm assuming the timeout is in milliseconds\r
+        //i am assuming the timeout is in milliseconds\r
         if (timeoutms > maxlongint) then timeoutms := maxlongint;\r
         threaddata.messageevent.waitfor(timeoutms);\r
 \r
@@ -469,7 +469,7 @@ begin
       structurelock.acquire;\r
       threaddata.waiting := false;\r
       message := threaddata.messagequeue;\r
-      gettimeofday(nowtv);\r
+      gettimemonotonic(nowtv);\r
     end;\r
     if (message=nil) and tv_compare(nowtv,threaddata.nexttimer) then begin\r
       processtimers;\r