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)