diff --git a/libobs/util/config-file.c b/libobs/util/config-file.c index a8db81ee3..1b69b07f0 100644 --- a/libobs/util/config-file.c +++ b/libobs/util/config-file.c @@ -61,16 +61,6 @@ struct config_data { pthread_mutex_t mutex; }; -static inline bool init_mutex(config_t *config) -{ - pthread_mutexattr_t attr; - if (pthread_mutexattr_init(&attr) != 0) - return false; - if (pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE) != 0) - return false; - return pthread_mutex_init(&config->mutex, &attr) == 0; -} - config_t *config_create(const char *file) { struct config_data *config; @@ -83,7 +73,7 @@ config_t *config_create(const char *file) config = bzalloc(sizeof(struct config_data)); - if (!init_mutex(config)) { + if (pthread_mutex_init_recursive(&config->mutex) != 0) { bfree(config); return NULL; } @@ -302,7 +292,7 @@ int config_open(config_t **config, const char *file, if (!*config) return CONFIG_ERROR; - if (!init_mutex(*config)) { + if (pthread_mutex_init_recursive(&(*config)->mutex) != 0) { bfree(*config); return CONFIG_ERROR; } @@ -330,7 +320,7 @@ int config_open_string(config_t **config, const char *str) if (!*config) return CONFIG_ERROR; - if (!init_mutex(*config)) { + if (pthread_mutex_init_recursive(&(*config)->mutex) != 0) { bfree(*config); return CONFIG_ERROR; } diff --git a/libobs/util/profiler.c b/libobs/util/profiler.c index ff815b9b8..bc1fe89d9 100644 --- a/libobs/util/profiler.c +++ b/libobs/util/profiler.c @@ -825,6 +825,8 @@ void profiler_free(void) } da_free(old_root_entries); + + pthread_mutex_destroy(&root_mutex); } /* ------------------------------------------------------------------------- */ @@ -858,6 +860,9 @@ void profiler_name_store_free(profiler_name_store_t *store) bfree(store->names.array[i]); da_free(store->names); + + pthread_mutex_destroy(&store->mutex); + bfree(store); }