From d669a65067ccfca65b6f7e4100d7012fd5decc74 Mon Sep 17 00:00:00 2001 From: DL6ER Date: Thu, 28 Dec 2017 21:02:10 +0100 Subject: [PATCH] Compare age of query against current time to decide if we should give a query more time to get completed Signed-off-by: DL6ER --- database.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/database.c b/database.c index a192e6b1..6179affb 100644 --- a/database.c +++ b/database.c @@ -309,13 +309,21 @@ void save_to_DB(void) return; } + int currenttimestamp = time(NULL); for(i = lastdbindex; i < counters.queries; i++) { validate_access("queries", i, true, __LINE__, __FUNCTION__, __FILE__); - if(queries[i].timestamp <= lasttimestamp || queries[i].db || !queries[i].complete) + if(queries[i].timestamp <= lasttimestamp || queries[i].db) // Already in database or not yet complete continue; + if(!queries[i].complete && queries[i].timestamp > currenttimestamp-2) + { + // Break if a brand new query (age < 2 seconds) is not yet completed + // giving it a chance to be stored next time + break; + } + // Memory checks validate_access("queries", i, true, __LINE__, __FUNCTION__, __FILE__); validate_access("domains", queries[i].domainID, true, __LINE__, __FUNCTION__, __FILE__);