Encapsulate clock_gettime.
authorWerner Koch <wk@gnupg.org>
Fri, 27 Jan 2012 14:16:25 +0000 (15:16 +0100)
committerWerner Koch <wk@gnupg.org>
Fri, 27 Jan 2012 14:16:25 +0000 (15:16 +0100)
* src/Makefile.am (libnpth_la_LDFLAGS): Remove -pthread and -lrt.
* src/npth.h (npth_clock_gettime): Turn macro into a function.
* src/npth.c (npth_clock_gettime): New.
* src/libnpth.vers: Add npth_clock_gettime.

src/Makefile.am
src/libnpth.vers
src/npth.c
src/npth.h

index 49af3ad..6ce640a 100644 (file)
@@ -81,7 +81,8 @@ endif
 
 libnpth_la_LDFLAGS = $(no_undefined) $(export_symbols) \
        $(libnpth_version_script_cmd) -version-info \
-       @LIBNPTH_LT_CURRENT@:@LIBNPTH_LT_REVISION@:@LIBNPTH_LT_AGE@ -pthread -lrt
+       @LIBNPTH_LT_CURRENT@:@LIBNPTH_LT_REVISION@:@LIBNPTH_LT_AGE@
+
 libnpth_la_DEPENDENCIES = $(srcdir)/libnpth.vers $(npth_deps)
 
 install-data-local: install-def-file
index d9aa2b8..2dd3e89 100644 (file)
@@ -50,6 +50,7 @@ NPTH_1.0 {
     npth_sendmsg;
     npth_unprotect;
     npth_protect;
+    npth_clock_gettime;
 
     npth_sigev_init;
     npth_sigev_add;
index 721d98c..1525e3f 100644 (file)
@@ -515,3 +515,15 @@ npth_protect (void)
 {
   LEAVE();
 }
+
+
+int
+npth_clock_gettime (struct timespec *ts)
+{
+#if HAVE_CLOCK_GETTIME
+  return clock_gettime (CLOCK_REALTIME, ts);
+#else
+  /* FIXME: fall back on time() with seconds resolution.  */
+# error clock_gettime not available - please provide a fallback.
+#endif
+}
index acc6613..1519c88 100644 (file)
@@ -313,10 +313,8 @@ void npth_protect (void);
 
 \f
 /* Because the timed functions work on timespec, we provide a clock
-   interface for convenience and portability.  FIXME: If the Timers
-   option is not supported, fall back on time() with seconds
-   resolution.  */
-#define npth_clock_gettime(ts) clock_gettime(CLOCK_REALTIME, ts)
+   interface for convenience and portability.  */
+int npth_clock_gettime (struct timespec *tp);
 
 /* CMP may be ==, < or >.  Do not use <= or >=.  */
 #define npth_timercmp(t1, t2, cmp)                                     \