Bläddra i källkod

Added fallback for old Windows systems that do not support QueryThreadCycleTime

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6991 8c9fc860-2736-0410-a75d-ab315db34111
felixf 8 år sedan
förälder
incheckning
bc3b73f786
1 ändrade filer med 5 tillägg och 1 borttagningar
  1. 5 1
      source/Win32.Objects.Mod

+ 5 - 1
source/Win32.Objects.Mod

@@ -1254,7 +1254,11 @@ END GetCpuCycles;
 PROCEDURE CurrentProcessTime*(): HUGEINT;
 VAR res: LONGINT; result: HUGEINT;
 BEGIN
-	res := Kernel32.QueryThreadCycleTime(CurrentProcess().handle, result);
+	IF (Kernel32.QueryThreadCycleTime # NIL) THEN
+		res := Kernel32.QueryThreadCycleTime(CurrentProcess().handle, result);
+	ELSE (* fallback *)
+		result := Machine.GetTimer();
+	END;
 	RETURN result;
 END CurrentProcessTime;