@cryptotaxi247 / netdata / commits / 432e1bb71

Fix deadlock in dictionary cleanup (#20679)

Fix deadlock in dictionary cleanup by using trylock

Stelios Fragkakis committed Jul 15, 2025 at 16:12 UTC 432e1bb716dee3bb879caa55ca9cff06317e4369
1 file changed +5 -2
src/libnetdata/dictionary/dictionary.c
+5 -2
@@ -346,8 +346,11 @@ size_t dictionary_destroy_delayed_count(void) {
346 return count;
347 }
348
349 -size_t cleanup_destroyed_dictionaries(bool shutdown __maybe_unused) {
350 - netdata_mutex_lock(&dictionaries_waiting_to_be_destroyed_mutex);
349 +size_t cleanup_destroyed_dictionaries(bool shutdown __maybe_unused)
350 +{
351 + if (netdata_mutex_trylock(&dictionaries_waiting_to_be_destroyed_mutex) != 0)
352 + return 0;
353 +
354 if (!dictionaries_waiting_to_be_destroyed) {
355 netdata_mutex_unlock(&dictionaries_waiting_to_be_destroyed_mutex);
356 return 0;