mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-05 06:59:32 +03:00
add thread id to trace, warning, and error messages
This commit is contained in:
parent
ccf117c43d
commit
73012bf654
1 changed files with 14 additions and 3 deletions
|
@ -322,11 +322,22 @@ void _mi_fprintf( mi_output_fun* out, void* arg, const char* fmt, ... ) {
|
||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mi_vfprintf_thread(mi_output_fun* out, void* arg, const char* prefix, const char* fmt, va_list args) {
|
||||||
|
if (prefix != NULL && strlen(prefix) <= 32 && !_mi_is_main_thread()) {
|
||||||
|
char tprefix[64];
|
||||||
|
snprintf(tprefix, sizeof(tprefix), "%sthread 0x%zx: ", prefix, _mi_thread_id());
|
||||||
|
mi_vfprintf(out, arg, tprefix, fmt, args);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
mi_vfprintf(out, arg, prefix, fmt, args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void _mi_trace_message(const char* fmt, ...) {
|
void _mi_trace_message(const char* fmt, ...) {
|
||||||
if (mi_option_get(mi_option_verbose) <= 1) return; // only with verbose level 2 or higher
|
if (mi_option_get(mi_option_verbose) <= 1) return; // only with verbose level 2 or higher
|
||||||
va_list args;
|
va_list args;
|
||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
mi_vfprintf(NULL, NULL, "mimalloc: ", fmt, args);
|
mi_vfprintf_thread(NULL, NULL, "mimalloc: ", fmt, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -341,7 +352,7 @@ void _mi_verbose_message(const char* fmt, ...) {
|
||||||
static void mi_show_error_message(const char* fmt, va_list args) {
|
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_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_atomic_increment_acq_rel(&error_count) > mi_max_error_count) return;
|
||||||
mi_vfprintf(NULL, NULL, "mimalloc: error: ", fmt, args);
|
mi_vfprintf_thread(NULL, NULL, "mimalloc: error: ", fmt, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _mi_warning_message(const char* fmt, ...) {
|
void _mi_warning_message(const char* fmt, ...) {
|
||||||
|
@ -349,7 +360,7 @@ void _mi_warning_message(const char* fmt, ...) {
|
||||||
if (mi_atomic_increment_acq_rel(&warning_count) > mi_max_warning_count) return;
|
if (mi_atomic_increment_acq_rel(&warning_count) > mi_max_warning_count) return;
|
||||||
va_list args;
|
va_list args;
|
||||||
va_start(args,fmt);
|
va_start(args,fmt);
|
||||||
mi_vfprintf(NULL, NULL, "mimalloc: warning: ", fmt, args);
|
mi_vfprintf_thread(NULL, NULL, "mimalloc: warning: ", fmt, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue