summarylogtreecommitdiffstats
path: root/172.patch
blob: b9a2ab953f7679c06b387b628fd32dde5b57e861 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
diff --git a/FTL.h b/FTL.h
index d751f93..42549dc 100644
--- a/FTL.h
+++ b/FTL.h
@@ -66,10 +66,6 @@
 // Default -60 (one minute before a full hour)
 #define GCdelay (-60)
 
-// How often do we dump into FTL's database?
-// Default: 60 (once per minute)
-#define DBinterval 60
-
 // Static structs
 typedef struct {
 	const char* conf;
@@ -125,6 +121,7 @@ typedef struct {
 	int maxDBdays;
 	bool resolveIPv6;
 	bool resolveIPv4;
+	int DBinterval;
 } ConfigStruct;
 
 // Dynamic structs
diff --git a/config.c b/config.c
index c854ec0..6a2f126 100644
--- a/config.c
+++ b/config.c
@@ -130,6 +130,26 @@ void read_FTLconf(void)
 	else
 		logg("   RESOLVE_IPV4: Don\'t resolve IPv4 addresses");
 
+	// DBINTERVAL
+	// How often do we store queries in FTL's database [minutes]?
+	// this value can be a floating point number, e.g. "DBINTERVAL=0.5"
+	// defaults to: 1 (once per minute)
+	config.DBinterval = 1;
+	buffer = parse_FTLconf(fp, "DBINTERVAL");
+
+	float fvalue = 0;
+	if(buffer != NULL && sscanf(buffer, "%f", &fvalue))
+		// check if the read value is
+		// - larger than 0.1min (6sec), and
+		// - smaller than 43200 (once a month)
+		if(fvalue >= 0.1 && fvalue <= 43200.0)
+			config.DBinterval = (int)(60.*fvalue);
+
+	if(config.DBinterval == 60)
+		logg("   DBINTERVAL: saving to DB file every minute");
+	else
+		logg("   DBINTERVAL: saving to DB file every %i seconds", config.DBinterval);
+
 	logg("Finished config file parsing");
 
 	if(conflinebuffer != NULL)
diff --git a/main.c b/main.c
index f748bc2..28b18e6 100644
--- a/main.c
+++ b/main.c
@@ -86,7 +86,7 @@ int main (int argc, char* argv[]) {
 		if(((time(NULL) - GCdelay)%GCinterval) == 0)
 			runGCthread = true;
 
-		if(database && ((time(NULL)%DBinterval) == 0))
+		if(database && ((time(NULL)%config.DBinterval) == 0))
 			runDBthread = true;
 
 		// Garbadge collect in regular interval, but don't do it if the threadlocks is set
@@ -134,7 +134,7 @@ int main (int argc, char* argv[]) {
 			}
 
 			// Avoid immediate re-run of DB thread
-			while(((time(NULL)%DBinterval) == 0))
+			while(((time(NULL)%config.DBinterval) == 0))
 				sleepms(100);
 		}
 
diff --git a/config.c b/config.c
index 56cbbe8..a2697e8 100644
--- a/config.c
+++ b/config.c
@@ -141,8 +141,8 @@ void read_FTLconf(void)
 	if(buffer != NULL && sscanf(buffer, "%f", &fvalue))
 		// check if the read value is
 		// - larger than 0.1min (6sec), and
-		// - smaller than 43200 (once a month)
-		if(fvalue >= 0.1 && fvalue <= 43200.0)
+		// - smaller than 1440.0min (once a day)
+		if(fvalue >= 0.1 && fvalue <= 1440.0)
 			config.DBinterval = (int)(60.*fvalue);
 
 	if(config.DBinterval == 60)

diff --git a/config.c b/config.c
index a2697e8..b8880d9 100644
--- a/config.c
+++ b/config.c
@@ -133,8 +133,8 @@ void read_FTLconf(void)
 	// DBINTERVAL
 	// How often do we store queries in FTL's database [minutes]?
 	// this value can be a floating point number, e.g. "DBINTERVAL=0.5"
-	// defaults to: 1 (once per minute)
-	config.DBinterval = 1;
+	// defaults to: once per minute
+	config.DBinterval = 60;
 	buffer = parse_FTLconf(fp, "DBINTERVAL");
 
 	float fvalue = 0;