From f060cb5c63923d6caec784f65f3bb0aadf52f795 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 6 Mar 2018 16:22:42 +0100 Subject: agent: Also evict cached items via a timer. * agent/cache.c (agent_cache_housekeeping): New func. * agent/gpg-agent.c (handle_tick): Call it. -- This change mitigates the risk of having cached items in a post mortem dump. GnuPG-bug-id: 3829 Signed-off-by: Werner Koch --- agent/cache.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'agent/cache.c') diff --git a/agent/cache.c b/agent/cache.c index 80d5f8d1e..ed5c97cd2 100644 --- a/agent/cache.c +++ b/agent/cache.c @@ -258,6 +258,26 @@ housekeeping (void) } +void +agent_cache_housekeeping (void) +{ + int res; + + if (DBG_CACHE) + log_debug ("agent_cache_housekeeping\n"); + + res = npth_mutex_lock (&cache_lock); + if (res) + log_fatal ("failed to acquire cache mutex: %s\n", strerror (res)); + + housekeeping (); + + res = npth_mutex_unlock (&cache_lock); + if (res) + log_fatal ("failed to release cache mutex: %s\n", strerror (res)); +} + + void agent_flush_cache (void) { -- cgit v1.2.3