server: 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>
This commit is contained in:
Ken Thomases 2017-06-01 14:48:06 -05:00 committed by Alexandre Julliard
parent 27c71e09ad
commit 1984e86b44
1 changed files with 6 additions and 6 deletions

View File

@ -518,7 +518,12 @@ int send_client_fd( struct process *process, int fd, obj_handle_t handle )
/* get current tick count to return to client */
unsigned int get_tick_count(void)
{
#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 / 1000000;
#elif defined(HAVE_CLOCK_GETTIME)
struct timespec ts;
#ifdef CLOCK_MONOTONIC_RAW
if (!clock_gettime( CLOCK_MONOTONIC_RAW, &ts ))
@ -526,11 +531,6 @@ unsigned int get_tick_count(void)
#endif
if (!clock_gettime( CLOCK_MONOTONIC, &ts ))
return ts.tv_sec * 1000 + ts.tv_nsec / 1000000;
#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 / 1000000;
#endif
return (current_time - server_start_time) / 10000;
}