1
0
Fork 0
mirror of https://git.tukaani.org/xz.git synced 2024-04-04 12:36:23 +02:00

xz/Windows: Allow clock_gettime with POSIX threads.

If winpthreads are used for threading, it's OK to use clock_gettime()
from winpthreads too.
This commit is contained in:
Lasse Collin 2023-09-25 01:46:36 +03:00
parent dd32f628bb
commit c57858b60e

View file

@ -14,7 +14,8 @@
#if defined(MYTHREAD_VISTA) || defined(_MSC_VER) #if defined(MYTHREAD_VISTA) || defined(_MSC_VER)
// Nothing // Nothing
#elif defined(HAVE_CLOCK_GETTIME) && !defined(__MINGW32__) #elif defined(HAVE_CLOCK_GETTIME) \
&& (!defined(__MINGW32__) || defined(MYTHREAD_POSIX))
# include <time.h> # include <time.h>
#else #else
# include <sys/time.h> # include <sys/time.h>
@ -59,9 +60,11 @@ mytime_now(void)
// there's no reason to avoid a WinVista API here either. // there's no reason to avoid a WinVista API here either.
return GetTickCount64(); return GetTickCount64();
#elif defined(HAVE_CLOCK_GETTIME) && !defined(__MINGW32__) #elif defined(HAVE_CLOCK_GETTIME) \
&& (!defined(__MINGW32__) || defined(MYTHREAD_POSIX))
// MinGW-w64: clock_gettime() is defined in winpthreads but we need // MinGW-w64: clock_gettime() is defined in winpthreads but we need
// nothing else from winpthreads. By avoiding clock_gettime(), we // nothing else from winpthreads (unless, for some odd reason, POSIX
// threading has been selected). By avoiding clock_gettime(), we
// avoid the dependency on libwinpthread-1.dll or the need to link // avoid the dependency on libwinpthread-1.dll or the need to link
// against the static version. The downside is that the fallback // against the static version. The downside is that the fallback
// method, gettimeofday(), doesn't provide monotonic time. // method, gettimeofday(), doesn't provide monotonic time.