mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
prop224: Add a cache free all function
Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
@@ -56,6 +56,15 @@ cache_dir_desc_free(hs_cache_dir_descriptor_t *desc)
|
||||
tor_free(desc);
|
||||
}
|
||||
|
||||
/* Helper function: Use by the free all function using the digest256map
|
||||
* interface to cache entries. */
|
||||
static void
|
||||
cache_dir_desc_free_(void *ptr)
|
||||
{
|
||||
hs_cache_dir_descriptor_t *desc = ptr;
|
||||
cache_dir_desc_free(desc);
|
||||
}
|
||||
|
||||
/* Create a new directory cache descriptor object from a encoded descriptor.
|
||||
* On success, return the heap-allocated cache object, otherwise return NULL if
|
||||
* we can't decode the descriptor. */
|
||||
@@ -366,3 +375,10 @@ hs_cache_init(void)
|
||||
hs_cache_v3_dir = digest256map_new();
|
||||
}
|
||||
|
||||
/* Cleanup the hidden service cache subsystem. */
|
||||
void
|
||||
hs_cache_free_all(void)
|
||||
{
|
||||
tor_assert(hs_cache_v3_dir);
|
||||
digest256map_free(hs_cache_v3_dir, cache_dir_desc_free_);
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ typedef struct hs_cache_dir_descriptor_t {
|
||||
/* Public API */
|
||||
|
||||
void hs_cache_init(void);
|
||||
void hs_cache_free_all(void);
|
||||
void hs_cache_clean_as_dir(time_t now);
|
||||
size_t hs_cache_handle_oom(time_t now, size_t min_remove_bytes);
|
||||
|
||||
|
||||
@@ -2958,6 +2958,7 @@ tor_free_all(int postfork)
|
||||
rend_service_free_all();
|
||||
rend_cache_free_all();
|
||||
rend_service_authorization_free_all();
|
||||
hs_cache_free_all();
|
||||
rep_hist_free_all();
|
||||
dns_free_all();
|
||||
clear_pending_onions();
|
||||
|
||||
Reference in New Issue
Block a user