From 7dd5eba9f871a90ebcc3c62c6beef5d96e5e39f6 Mon Sep 17 00:00:00 2001 From: Sami Kortelainen Date: Mon, 5 Oct 2026 15:47:06 +0300 Subject: Crash fix: Added one-time initialization to all three progress functions --- src/common.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/common.c b/src/common.c index 70f0742..89d3b30 100644 --- a/src/common.c +++ b/src/common.c @@ -325,6 +325,7 @@ static void _init_progress_info(void) uint32_t progress_get_next_tag(void) { + thread_once(&progress_info_once, _init_progress_info); mutex_lock(&prog_mutex); uint32_t newtag = ++progress_unique_tag; mutex_unlock(&prog_mutex); @@ -382,6 +383,7 @@ void register_progress(uint32_t tag, const char* label) void finalize_progress(uint32_t tag) { + thread_once(&progress_info_once, _init_progress_info); mutex_lock(&prog_mutex); struct progress_info_entry* found = NULL; FOREACH(struct progress_info_entry* e, &progress_info) { @@ -424,6 +426,7 @@ void print_progress_bar(const char* prefix, double progress) void set_progress(uint32_t tag, double progress) { + thread_once(&progress_info_once, _init_progress_info); mutex_lock(&prog_mutex); struct progress_info_entry* found = NULL; FOREACH(struct progress_info_entry* e, &progress_info) { -- cgit v1.1-32-gdbae