MSVC: xz: Use GetTickCount64() to implement mytime_now().

It's available since Windows Vista.
This commit is contained in:
Lasse Collin 2023-09-05 21:33:35 +03:00
parent 5c6f892d41
commit c660b8d78b
1 changed files with 9 additions and 2 deletions

View File

@ -12,7 +12,9 @@
#include "private.h" #include "private.h"
#ifdef HAVE_CLOCK_GETTIME #if defined(_MSC_VER)
// Nothing
#elif defined(HAVE_CLOCK_GETTIME)
# include <time.h> # include <time.h>
#else #else
# include <sys/time.h> # include <sys/time.h>
@ -45,7 +47,11 @@ static uint64_t next_flush;
static uint64_t static uint64_t
mytime_now(void) mytime_now(void)
{ {
#ifdef HAVE_CLOCK_GETTIME #if defined(_MSC_VER)
// NOTE: This requires Windows Vista or later.
return GetTickCount64();
#elif defined(HAVE_CLOCK_GETTIME)
struct timespec tv; struct timespec tv;
# ifdef HAVE_CLOCK_MONOTONIC # ifdef HAVE_CLOCK_MONOTONIC
@ -60,6 +66,7 @@ mytime_now(void)
# endif # endif
return (uint64_t)tv.tv_sec * 1000 + (uint64_t)(tv.tv_nsec / 1000000); return (uint64_t)tv.tv_sec * 1000 + (uint64_t)(tv.tv_nsec / 1000000);
#else #else
struct timeval tv; struct timeval tv;
gettimeofday(&tv, NULL); gettimeofday(&tv, NULL);