From: <wow...@us...> - 2012-07-26 17:13:04
|
Revision: 259 http://ptpd.svn.sourceforge.net/ptpd/?rev=259&view=rev Author: wowczarek Date: 2012-07-26 17:12:58 +0000 (Thu, 26 Jul 2012) Log Message: ----------- "nanosecond" timestamps on Linux: Fix for getTime() to use clock_gettime() also on Linux - now only Apple uses gettimeofday(), all others use clock_gettime(). Modified Paths: -------------- trunk/src/dep/sys.c Modified: trunk/src/dep/sys.c =================================================================== --- trunk/src/dep/sys.c 2012-07-24 22:20:18 UTC (rev 258) +++ trunk/src/dep/sys.c 2012-07-26 17:12:58 UTC (rev 259) @@ -585,7 +585,7 @@ ); } -Boolean +Boolean nanoSleep(TimeInternal * t) { struct timespec ts, tr; @@ -601,16 +601,18 @@ return TRUE; } -void +void getTime(TimeInternal * time) { -#if defined(linux) || defined(__APPLE__) +#if defined(__APPLE__) struct timeval tv; gettimeofday(&tv, 0); time->seconds = tv.tv_sec; time->nanoseconds = tv.tv_usec * 1000; + #else + struct timespec tp; if (clock_gettime(CLOCK_REALTIME, &tp) < 0) { PERROR("clock_gettime() failed, exiting."); @@ -618,14 +620,15 @@ } time->seconds = tp.tv_sec; time->nanoseconds = tp.tv_nsec; -#endif /* linux || __APPLE__ */ + +#endif /* __APPLE__ */ } -void +void setTime(TimeInternal * time) { struct timeval tv; - + tv.tv_sec = time->seconds; tv.tv_usec = time->nanoseconds / 1000; WARNING("Going to step the system clock to %ds %dns\n", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |