X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Futils%2Fmono-time.c;h=06f9f217b88cf6ce3a51b9fe65182ae38f182995;hb=c5ebdef6d451d8f0814301b2c619bb1e66cd40af;hp=5cc82fccb55e082f6ecd6b198f1321eed06eda95;hpb=7ebae4c7f57a6c1b4d0a38e69f270a016b6f3143;p=mono.git diff --git a/mono/utils/mono-time.c b/mono/utils/mono-time.c index 5cc82fccb55..06f9f217b88 100644 --- a/mono/utils/mono-time.c +++ b/mono/utils/mono-time.c @@ -142,7 +142,16 @@ gint64 mono_100ns_ticks (void) { struct timeval tv; -#ifdef CLOCK_MONOTONIC +#if defined(PLATFORM_MACOSX) + /* http://developer.apple.com/library/mac/#qa/qa1398/_index.html */ + static mach_timebase_info_data_t timebase; + guint64 now = mach_absolute_time (); + if (timebase.denom == 0) { + mach_timebase_info (&timebase); + timebase.denom *= 100; /* we return 100ns ticks */ + } + return now * timebase.numer / timebase.denom; +#elif defined(CLOCK_MONOTONIC) struct timespec tspec; static struct timespec tspec_freq = {0}; static int can_use_clock = 0; @@ -156,16 +165,6 @@ mono_100ns_ticks (void) return ((gint64)tspec.tv_sec * MTICKS_PER_SEC + tspec.tv_nsec / 100); } } - -#elif defined(PLATFORM_MACOSX) - /* http://developer.apple.com/library/mac/#qa/qa1398/_index.html */ - static mach_timebase_info_data_t timebase; - guint64 now = mach_absolute_time (); - if (timebase.denom == 0) { - mach_timebase_info (&timebase); - timebase.denom *= 100; /* we return 100ns ticks */ - } - return now * timebase.numer / timebase.denom; #endif if (gettimeofday (&tv, NULL) == 0) return ((gint64)tv.tv_sec * 1000000 + tv.tv_usec) * 10;