Skip to content

Commit e7cbbbf

Browse files
committed
add mi_process_done to the api
1 parent d7d6c3b commit e7cbbbf

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

include/mimalloc.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,16 +153,20 @@ mi_decl_export void mi_stats_reset(void) mi_attr_noexcept;
153153
mi_decl_export void mi_stats_merge(void) mi_attr_noexcept;
154154
mi_decl_export void mi_stats_print(void* out) mi_attr_noexcept; // backward compatibility: `out` is ignored and should be NULL
155155
mi_decl_export void mi_stats_print_out(mi_output_fun* out, void* arg) mi_attr_noexcept;
156+
mi_decl_export void mi_thread_stats_print_out(mi_output_fun* out, void* arg) mi_attr_noexcept;
156157
mi_decl_export void mi_options_print(void) mi_attr_noexcept;
157158

159+
mi_decl_export void mi_process_info(size_t* elapsed_msecs, size_t* user_msecs, size_t* system_msecs,
160+
size_t* current_rss, size_t* peak_rss,
161+
size_t* current_commit, size_t* peak_commit, size_t* page_faults) mi_attr_noexcept;
162+
163+
164+
// Generally do not use the following as these are usually called automatically
158165
mi_decl_export void mi_process_init(void) mi_attr_noexcept;
166+
mi_decl_export void mi_cdecl mi_process_done(void) mi_attr_noexcept;
159167
mi_decl_export void mi_thread_init(void) mi_attr_noexcept;
160168
mi_decl_export void mi_thread_done(void) mi_attr_noexcept;
161-
mi_decl_export void mi_thread_stats_print_out(mi_output_fun* out, void* arg) mi_attr_noexcept;
162169

163-
mi_decl_export void mi_process_info(size_t* elapsed_msecs, size_t* user_msecs, size_t* system_msecs,
164-
size_t* current_rss, size_t* peak_rss,
165-
size_t* current_commit, size_t* peak_commit, size_t* page_faults) mi_attr_noexcept;
166170

167171
// -------------------------------------------------------------------------------------
168172
// Aligned allocation

src/init.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,11 @@ void mi_process_init(void) mi_attr_noexcept {
642642
}
643643
}
644644

645-
// Called when the process is done (through `at_exit`)
645+
void mi_cdecl mi_process_done(void) mi_attr_noexcept {
646+
_mi_process_done();
647+
}
648+
649+
// Called when the process is done (cdecl as it is used with `at_exit` on some platforms)
646650
void mi_cdecl _mi_process_done(void) {
647651
// only shutdown if we were initialized
648652
if (!_mi_process_is_initialized) return;

0 commit comments

Comments
 (0)