sgw: cache timestamp of egress file earlier
authorFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 15 Oct 2015 09:53:36 +0000 (11:53 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 15 Oct 2015 12:47:57 +0000 (14:47 +0200)
Before we go into the reading loop, because we assume that the
contents of the valid is valid. And when it's not valid then the
timestamp of the file has to change before we should try to read
it again.

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

index 98dc56a..4073983 100644 (file)
@@ -526,6 +526,8 @@ static bool readEgressFile(const char * fileName) {
     goto outerror;
   }
 
+  memcpy(&cachedStat.timeStamp, &statBuf.st_mtime, sizeof(cachedStat.timeStamp));
+
   /* copy 'current' egress interfaces into 'previous' field */
   readEgressFileClear();
 
@@ -719,13 +721,6 @@ static bool readEgressFile(const char * fileName) {
   fclose(fp);
   fp = NULL;
 
-#if defined(__linux__) && !defined(__ANDROID__)
-    mtim = &statBuf.st_mtim;
-#else
-    mtim = &statBuf.st_mtime;
-#endif
-  memcpy(&cachedStat.timeStamp, mtim, sizeof(cachedStat.timeStamp));
-
   reportedErrors = reportedErrorsLocal;
 
   outerror: