Przeglądaj źródła

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.
Nick Mathewson 7 lat temu
rodzic
commit
10baf2c684
1 zmienionych plików z 5 dodań i 0 usunięć
  1. 5 0
      src/common/compat_pthreads.c

+ 5 - 0
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.
  */