mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
prop224: Update OOM counters when freeing a client descriptor cache object
When we free a client descriptor cache object, tell the OOM handler. Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
+4
-2
@@ -335,6 +335,8 @@ remove_v3_desc_as_client(const hs_cache_client_descriptor_t *desc)
|
||||
{
|
||||
tor_assert(desc);
|
||||
digest256map_remove(hs_cache_v3_client, desc->key.pubkey);
|
||||
/* Update cache size with this entry for the OOM handler. */
|
||||
rend_cache_decrement_allocation(cache_get_client_entry_size(desc));
|
||||
}
|
||||
|
||||
/* Store a given descriptor in our cache. */
|
||||
@@ -608,7 +610,6 @@ cache_store_as_client(hs_cache_client_descriptor_t *client_desc)
|
||||
}
|
||||
/* Remove old entry. Make space for the new one! */
|
||||
remove_v3_desc_as_client(cache_entry);
|
||||
rend_cache_decrement_allocation(cache_get_client_entry_size(cache_entry));
|
||||
cache_client_desc_free(cache_entry);
|
||||
}
|
||||
|
||||
@@ -649,7 +650,8 @@ cache_clean_v3_as_client(time_t now)
|
||||
bytes_removed += entry_size;
|
||||
/* Entry is not in the cache anymore, destroy it. */
|
||||
cache_client_desc_free(entry);
|
||||
/* Update our cache entry allocation size for the OOM. */
|
||||
/* Update our OOM. We didn't use the remove() function because we are in
|
||||
* a loop so we have to explicitely decrement. */
|
||||
rend_cache_decrement_allocation(entry_size);
|
||||
/* Logging. */
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user