From 7fc1cbb640885cca6c3737cfd451440225ac9ca7 Mon Sep 17 00:00:00 2001 From: Marc Hoersken Date: Sun, 14 Dec 2014 18:32:41 +0100 Subject: tool_util.c: Use GetTickCount64 if it is available --- src/tool_util.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/tool_util.c b/src/tool_util.c index 00d205ebc..890122916 100644 --- a/src/tool_util.c +++ b/src/tool_util.c @@ -33,10 +33,19 @@ struct timeval tool_tvnow(void) ** GetTickCount() is available on _all_ Windows versions from W95 up ** to nowadays. Returns milliseconds elapsed since last system boot, ** increases monotonically and wraps once 49.7 days have elapsed. + ** + ** GetTickCount64() is available on Windows version from Windows Vista + ** and Windows Server 2008 up to nowadays. The resolution of the + ** function is limited to the resolution of the system timer, which + ** is typically in the range of 10 milliseconds to 16 milliseconds. */ struct timeval now; +#if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600) + ULONGLONG milliseconds = GetTickCount64(); +#else DWORD milliseconds = GetTickCount(); - now.tv_sec = milliseconds / 1000; +#endif + now.tv_sec = (long)(milliseconds / 1000); now.tv_usec = (milliseconds % 1000) * 1000; return now; } -- cgit v1.2.3