feat(module): implement module initialization status check

* Add STK_MOD_INIT_SUCCESS and STK_MOD_INIT_FAILURE macros to stk.h.
* Update stk_module_load to validate module initialization before finalizing the load.
* Unload library if the init func fails, return error.
This commit is contained in:
2026-01-29 22:40:25 +01:00
parent 450f13fa62
commit 2fbf4ca24a
2 changed files with 10 additions and 5 deletions
+5 -5
View File
@@ -104,11 +104,13 @@ int stk_module_load(const char *path, int index)
return -2;
}
if (index == -1)
index = module_count;
extract_module_id(path, module_id);
if (init_func() != STK_MOD_INIT_SUCCESS) {
platform_unload_library(handle);
return -3;
}
strncpy(stk_module_ids[index], module_id, STK_MOD_ID_BUFFER - 1);
stk_module_ids[index][STK_MOD_ID_BUFFER - 1] = '\0';
@@ -116,8 +118,6 @@ int stk_module_load(const char *path, int index)
stk_inits[index] = init_func;
stk_shutdowns[index] = shutdown_func;
init_func(); /* TODO eventually return an int for success */
return 0;
}