diff --git a/server/request.c b/server/request.c index 781889cc785..6120bc550ff 100644 --- a/server/request.c +++ b/server/request.c @@ -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; }