Get microsecond time resolution on Windows.
This commit is contained in:
parent
8aadbd4b37
commit
87416bcd8b
1 changed files with 10 additions and 0 deletions
10
src/dropin.c
10
src/dropin.c
|
@ -158,8 +158,18 @@ int vasprintf(char **buf, const char *fmt, va_list ap) {
|
||||||
|
|
||||||
#ifndef HAVE_GETTIMEOFDAY
|
#ifndef HAVE_GETTIMEOFDAY
|
||||||
int gettimeofday(struct timeval *tv, void *tz) {
|
int gettimeofday(struct timeval *tv, void *tz) {
|
||||||
|
#ifdef HAVE_MINGW
|
||||||
|
FILETIME ft;
|
||||||
|
GetSystemTimeAsFileTime(&ft);
|
||||||
|
uint64_t lt = (uint64_t)ft.dwLowDateTime | ((uint64_t)ft.dwHighDateTime << 32);
|
||||||
|
lt -= 116444736000000000ULL;
|
||||||
|
tv->tv_sec = lt / 10000000;
|
||||||
|
tv->tv_usec = (lt / 10) % 1000000;
|
||||||
|
#else
|
||||||
|
#warning No high resolution time source!
|
||||||
tv->tv_sec = time(NULL);
|
tv->tv_sec = time(NULL);
|
||||||
tv->tv_usec = 0;
|
tv->tv_usec = 0;
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue