sgwdynspeed: do not use nanosecond stat information
authorFerry Huberts <ferry.huberts@pelagic.nl>
Wed, 6 Jun 2012 15:06:35 +0000 (17:06 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 7 Jun 2012 22:29:39 +0000 (00:29 +0200)
It poses problems for OpenWRT builds and is not really needed
since we enforce a minimum poll interval of 1 second.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
lib/sgwdynspeed/src/speedFile.c

index 8a45395..69f461d 100644 (file)
@@ -42,7 +42,7 @@ static bool started = false;
 
 /** type to hold the cached stat result */
 typedef struct _CachedStat {
-       struct timespec st_mtim; /* Time of last modification. */
+       time_t timeStamp; /* Time of last modification (second resolution) */
 } CachedStat;
 
 /** the cached stat result */
@@ -104,8 +104,7 @@ bool startSpeedFile(void) {
                return false;
        }
 
-       cachedStat.st_mtim.tv_sec = -1;
-       cachedStat.st_mtim.tv_nsec = -1;
+       cachedStat.timeStamp = -1;
 
        started = true;
        return true;
@@ -172,7 +171,7 @@ void readSpeedFile(char * fileName) {
                goto out;
        }
 
-       if (!memcmp(&cachedStat.st_mtim, &statBuf.st_mtim, sizeof(cachedStat.st_mtim))) {
+       if (!memcmp(&cachedStat.timeStamp, &statBuf.st_mtime, sizeof(cachedStat.timeStamp))) {
                /* file did not change since last read */
                goto out;
        }
@@ -182,7 +181,7 @@ void readSpeedFile(char * fileName) {
                goto out;
        }
 
-       memcpy(&cachedStat.st_mtim, &statBuf.st_mtim, sizeof(cachedStat.st_mtim));
+       memcpy(&cachedStat.timeStamp, &statBuf.st_mtime, sizeof(cachedStat.timeStamp));
 
        while (fgets(line, LINE_LENGTH, fd)) {
                regmatch_t pmatch[regexNameValuematchCount];