Module Name: src
Committed By: roy
Date: Mon Oct 12 09:26:38 UTC 2015
Modified Files:
src/external/apache2/mDNSResponder/dist/mDNSPosix: mDNSPosix.c
Log Message:
Use clock_gettime as a more accurate time source.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c
diff -u src/external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c:1.7 src/external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c:1.8
--- src/external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c:1.7 Sat Dec 20 13:15:48 2014
+++ src/external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c Mon Oct 12 09:26:38 2015
@@ -1411,6 +1411,11 @@ mDNSexport mStatus mDNSPlatformTimeInit(
mDNSexport mDNSs32 mDNSPlatformRawTime()
{
+#ifdef CLOCK_MONOTONIC
+ struct timespec tv;
+ clock_gettime(CLOCK_MONOTONIC, &tv);
+ return((tv.tv_sec << 10) | ((tv.tv_nsec / 1000) * 16 / 15625));
+#else
struct timeval tv;
gettimeofday(&tv, NULL);
// tv.tv_sec is seconds since 1st January 1970 (GMT, with no adjustment for daylight savings time)
@@ -1420,6 +1425,7 @@ mDNSexport mDNSs32 mDNSPlatformRawTime(
// This gives us a proper modular (cyclic) counter that has a resolution of roughly 1ms (actually 1/1024 second)
// and correctly cycles every 2^22 seconds (4194304 seconds = approx 48 days).
return((tv.tv_sec << 10) | (tv.tv_usec * 16 / 15625));
+#endif
}
mDNSexport mDNSs32 mDNSPlatformUTC(void)