mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
Add dependents; add patch for clock_gettime in 10.12+; add modeline closes https://trac.macports.org/ticket/54002
47 lines
1.3 KiB
Diff
47 lines
1.3 KiB
Diff
--- now.c 2015-05-24 03:40:25.000000000 -0400
|
|
+++ now.c 2017-08-07 09:58:32.000000000 -0400
|
|
@@ -23,43 +23,6 @@
|
|
#include <string.h>
|
|
#include <time.h>
|
|
|
|
-#if defined(__MACH__) && !defined(__gnu_hurd__)
|
|
-/* Fake up clock_gettime() on OS X. */
|
|
-# include <sys/time.h>
|
|
-# include <inttypes.h>
|
|
-# include <mach/mach.h>
|
|
-# include <mach/mach_time.h>
|
|
-
|
|
- typedef int clockid_t;
|
|
-# define CLOCK_REALTIME 0
|
|
-# define CLOCK_MONOTONIC 1
|
|
-
|
|
- static uint64_t mono_first = 0;
|
|
-
|
|
- int clock_gettime(clockid_t clk_id, struct timespec *tp) {
|
|
- if (clk_id == CLOCK_REALTIME) {
|
|
- struct timeval tv;
|
|
- gettimeofday(&tv, NULL);
|
|
- tp->tv_sec = tv.tv_sec;
|
|
- tp->tv_nsec = tv.tv_usec * 1000;
|
|
- return 0;
|
|
- }
|
|
- if (clk_id == CLOCK_MONOTONIC) {
|
|
- uint64_t t = mach_absolute_time();
|
|
- mach_timebase_info_data_t timebase;
|
|
- mach_timebase_info(&timebase);
|
|
- if (!mono_first) {
|
|
- mono_first = t;
|
|
- }
|
|
- uint64_t tdiff = (t - mono_first) * timebase.numer / timebase.denom;
|
|
- tp->tv_sec = tdiff / 1000000000;
|
|
- tp->tv_nsec = tdiff % 1000000000;
|
|
- return 0;
|
|
- }
|
|
- return -1;
|
|
- }
|
|
-#endif /* __MACH__ */
|
|
-
|
|
static struct timespec clock_real, clock_mono;
|
|
static int now_initialized = 0;
|
|
|