[tor-commits] [tor/release-0.2.8] Backport the other sierra fix in 20865.

nickm at torproject.org nickm at torproject.org
Wed Dec 7 23:27:34 UTC 2016


commit 10baf2c6845f93ade7d412ad27efb625e513160e
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Dec 7 18:19:18 2016 -0500

    Backport the other sierra fix in 20865.
    
    They added clock_gettime(), but with tv_nsec as a long, whereas
    tv_usec is a __darwin_suseconds_t (a.k.a. 'int').  Now, why would
    they do that? Are they preparing for a world where there are more
    than 2 billion nanoseconds per second?  Are they planning for having
    int be less than 32 bits again?  Or are they just not paying
    attention to the Darwin API?
    
    Also, they forgot to mark clock_gettime() as Sierra-only, so even
    if we fixed the issue here, we'd still be stick with portability
    breakage like we were for 0.2.9.
    
    So, just disable clock_gettime() on apple.
---
 src/common/compat_pthreads.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/common/compat_pthreads.c b/src/common/compat_pthreads.c
index 1b24cc3..962b5fc 100644
--- a/src/common/compat_pthreads.c
+++ b/src/common/compat_pthreads.c
@@ -21,6 +21,11 @@
 #include "torlog.h"
 #include "util.h"
 
+#ifdef __APPLE__
+#undef CLOCK_MONOTONIC
+#undef HAVE_CLOCK_GETTIME
+#endif
+
 /** Wraps a void (*)(void*) function and its argument so we can
  * invoke them in a way pthreads would expect.
  */





More information about the tor-commits mailing list