[libdispatch-changes] [47] trunk
source_changes at macosforge.org
source_changes at macosforge.org
Sat Oct 3 06:14:31 PDT 2009
Revision: 47
http://trac.macosforge.org/projects/libdispatch/changeset/47
Author: robert at fledge.watson.org
Date: 2009-10-03 06:14:28 -0700 (Sat, 03 Oct 2009)
Log Message:
-----------
Check for declarations of CLOCK_UPTIME and CLOCK_MONOTONIC, and when using
clock_gettime() instead of mach_absolute_time() prefer uptime if available.
This is required on Linux, which does not implement CLOCK_UPTIME.
Modified Paths:
--------------
trunk/configure.ac
trunk/src/os_shims.h
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac 2009-09-26 19:29:18 UTC (rev 46)
+++ trunk/configure.ac 2009-10-03 13:14:28 UTC (rev 47)
@@ -172,6 +172,8 @@
#
# Find functions and declarations we care about.
#
+AC_CHECK_DECLS([CLOCK_UPTIME, CLOCK_MONOTONIC], [], [],
+ [[#include <sys/time.h>]])
AC_CHECK_DECLS([EVFILT_SESSION, NOTE_NONE, NOTE_REAP, NOTE_SIGNAL], [], [],
[[#include <sys/event.h>]])
AC_CHECK_DECLS([VQ_UPDATE, VQ_VERYLOWDISK], [], [], [[#include <sys/mount.h>]])
Modified: trunk/src/os_shims.h
===================================================================
--- trunk/src/os_shims.h 2009-09-26 19:29:18 UTC (rev 46)
+++ trunk/src/os_shims.h 2009-10-03 13:14:28 UTC (rev 47)
@@ -200,7 +200,13 @@
struct timespec ts;
int ret;
+#if HAVE_DECL_CLOCK_UPTIME
ret = clock_gettime(CLOCK_UPTIME, &ts);
+#elif HAVE_DECL_CLOCK_MONOTONIC
+ ret = clock_gettime(CLOCK_MONOTONIC, &ts);
+#else
+#error "clock_gettime: no supported absolute time clock"
+#endif
dispatch_assume_zero(ret);
/* XXXRW: Some kind of overflow detection needed? */
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/libdispatch-changes/attachments/20091003/59acba02/attachment.html>
More information about the libdispatch-changes
mailing list