From ea799e738d094b6257ace970fed56efeaca47654 Mon Sep 17 00:00:00 2001 From: Benjamin Valentin Date: Fri, 20 Jan 2023 17:41:30 +0100 Subject: [PATCH] core/init: allow to run callback on main exit --- core/lib/init.c | 7 ++++++- makefiles/pseudomodules.inc.mk | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/lib/init.c b/core/lib/init.c index b20252945d..cdf7358a4e 100644 --- a/core/lib/init.c +++ b/core/lib/init.c @@ -60,7 +60,12 @@ static void *main_trampoline(void *arg) LOG_INFO(CONFIG_BOOT_MSG_STRING "\n"); } - main(); + int res = main(); + + if (IS_USED(MODULE_TEST_UTILS_MAIN_EXIT_CB)) { + void test_utils_main_exit_cb(int res); + test_utils_main_exit_cb(res); + } #ifdef MODULE_TEST_UTILS_PRINT_STACK_USAGE void print_stack_usage_metric(const char *name, void *stack, unsigned max_size); diff --git a/makefiles/pseudomodules.inc.mk b/makefiles/pseudomodules.inc.mk index 2516929079..17cb40b7de 100644 --- a/makefiles/pseudomodules.inc.mk +++ b/makefiles/pseudomodules.inc.mk @@ -581,6 +581,7 @@ PSEUDOMODULES += crypto_aes_unroll # declare shell version of test_utils_interactive_sync PSEUDOMODULES += test_utils_interactive_sync_shell +PSEUDOMODULES += test_utils_main_exit_cb # All auto_init modules are pseudomodules PSEUDOMODULES += auto_init_%