Module: wine Branch: master Commit: 27c71e09ad51ba6aa672a46379efd10b5959863f URL: http://source.winehq.org/git/wine.git/?a=commit;h=27c71e09ad51ba6aa672a46379...
Author: Ken Thomases ken@codeweavers.com Date: Thu Jun 1 14:48:05 2017 -0500
ntdll: On macOS, don't use clock_gettime() even if it's available.
The problem is building against the 10.12 or later SDK but deploying to 10.11 or earlier. Support for clock_gettime() is new with 10.12 so configure finds it and the code uses it, but the symbol is weak linked and resolves to NULL when running on earlier versions.
Signed-off-by: Ken Thomases ken@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntdll/time.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/ntdll/time.c b/dlls/ntdll/time.c index 3ba3c68..12dbdc3 100644 --- a/dlls/ntdll/time.c +++ b/dlls/ntdll/time.c @@ -101,7 +101,12 @@ static ULONGLONG monotonic_counter(void) { struct timeval now;
-#ifdef HAVE_CLOCK_GETTIME +#ifdef __APPLE__ + static mach_timebase_info_data_t timebase; + + if (!timebase.denom) mach_timebase_info( &timebase ); + return mach_absolute_time() * timebase.numer / timebase.denom / 100; +#elif defined(HAVE_CLOCK_GETTIME) struct timespec ts; #ifdef CLOCK_MONOTONIC_RAW if (!clock_gettime( CLOCK_MONOTONIC_RAW, &ts )) @@ -109,11 +114,6 @@ static ULONGLONG monotonic_counter(void) #endif if (!clock_gettime( CLOCK_MONOTONIC, &ts )) return ts.tv_sec * (ULONGLONG)TICKSPERSEC + ts.tv_nsec / 100; -#elif defined(__APPLE__) - static mach_timebase_info_data_t timebase; - - if (!timebase.denom) mach_timebase_info( &timebase ); - return mach_absolute_time() * timebase.numer / timebase.denom / 100; #endif
gettimeofday( &now, 0 );