summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaan Leijen <daan@microsoft.com>2022-04-02 09:46:25 -0700
committerDaan Leijen <daan@microsoft.com>2022-04-02 09:46:25 -0700
commitb2598e7ee44899cdef53c772698ddeed92c5aea5 (patch)
tree761c6b47f08effd8e1c7415d2f65701b04e48c5f
parent73012bf654cfa23be6ef3c00648e203480b065ab (diff)
allow setting MIMALLOC_MAX_ERRORS/WARNINGS to -1 to get unlimited error/warning messages
-rw-r--r--src/options.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/options.c b/src/options.c
index 4a43335..5c388ea 100644
--- a/src/options.c
+++ b/src/options.c
@@ -19,8 +19,8 @@ terms of the MIT license. A copy of the license can be found in the file
#endif
-static size_t mi_max_error_count = 16; // stop outputting errors after this
-static size_t mi_max_warning_count = 16; // stop outputting warnings after this
+static long mi_max_error_count = 16; // stop outputting errors after this (use < 0 for no limit)
+static long mi_max_warning_count = 16; // stop outputting warnings after this (use < 0 for no limit)
static void mi_add_stderr_output(void);
@@ -351,13 +351,13 @@ void _mi_verbose_message(const char* fmt, ...) {
static void mi_show_error_message(const char* fmt, va_list args) {
if (!mi_option_is_enabled(mi_option_show_errors) && !mi_option_is_enabled(mi_option_verbose)) return;
- if (mi_atomic_increment_acq_rel(&error_count) > mi_max_error_count) return;
+ if (mi_max_error_count >= 0 && (long)mi_atomic_increment_acq_rel(&error_count) > mi_max_error_count) return;
mi_vfprintf_thread(NULL, NULL, "mimalloc: error: ", fmt, args);
}
void _mi_warning_message(const char* fmt, ...) {
if (!mi_option_is_enabled(mi_option_show_errors) && !mi_option_is_enabled(mi_option_verbose)) return;
- if (mi_atomic_increment_acq_rel(&warning_count) > mi_max_warning_count) return;
+ if (mi_max_warning_count >= 0 && (long)mi_atomic_increment_acq_rel(&warning_count) > mi_max_warning_count) return;
va_list args;
va_start(args,fmt);
mi_vfprintf_thread(NULL, NULL, "mimalloc: warning: ", fmt, args);