From 8009f3bde3c440bfbb4c1a6c441444730a4dea31 Mon Sep 17 00:00:00 2001 From: BarbossHack Date: Tue, 29 Aug 2023 20:10:20 +0200 Subject: [PATCH] add cleaning thread --- Cargo.toml | 2 +- src/map.rs | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 66d17ab..66d326e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ chrono = { version = "0.4", features = ["serde"] } fdlimit = "0.2" libc = "0.2" log = "0.4" -memmap2 = "0.6" +memmap2 = "0.7" named-lock = "0.3" rand = "0.8" serde = { version = "1.0", features = ["serde_derive"] } diff --git a/src/map.rs b/src/map.rs index 23e0b0c..3d4692d 100644 --- a/src/map.rs +++ b/src/map.rs @@ -52,9 +52,16 @@ impl Shmap { }); let shmap = Shmap { cipher }; - if let Err(e) = shmap.clean() { - warn!("Error while cleaning shmap keys: {}", e) - } + + // Run cleaning thread + let shmap_clone = shmap.clone(); + std::thread::spawn(move || loop { + if let Err(e) = shmap_clone.clone().clean() { + warn!("Error while cleaning shmap keys: {}", e) + } + std::thread::sleep(Duration::from_secs(30)); + }); + shmap }