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)

Reply via email to