Fix return value not checked issue reported by Coverity (#1156)

Fix return value not checked issue in function init_wasm_timer,
reported by Coverity
This commit is contained in:
Xu Jun 2022-05-07 19:22:00 +08:00 committed by GitHub
parent ed512c6867
commit 474f081f56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 52 additions and 19 deletions

View File

@ -8,7 +8,7 @@
#include "runtime_timer.h"
void
bool
init_wasm_timer();
void
exit_wasm_timer();

View File

@ -83,19 +83,36 @@ wakeup_modules_timer_thread(timer_ctx_t ctx)
os_mutex_unlock(&g_timer_ctx_list_mutex);
}
void
bool
init_wasm_timer()
{
korp_tid tm_tid;
bh_list_init(&g_timer_ctx_list);
os_cond_init(&g_timer_ctx_list_cond);
if (os_cond_init(&g_timer_ctx_list_cond) != 0) {
return false;
}
/* temp solution for: thread_modulers_timer_check thread
would recursive lock the mutex */
os_recursive_mutex_init(&g_timer_ctx_list_mutex);
if (os_recursive_mutex_init(&g_timer_ctx_list_mutex) != 0) {
goto fail1;
}
os_thread_create(&tm_tid, thread_modulers_timer_check, NULL,
BH_APPLET_PRESERVED_STACK_SIZE);
if (0
!= os_thread_create(&tm_tid, thread_modulers_timer_check, NULL,
BH_APPLET_PRESERVED_STACK_SIZE)) {
goto fail2;
}
return true;
fail2:
os_mutex_destroy(&g_timer_ctx_list_mutex);
fail1:
os_cond_destroy(&g_timer_ctx_list_cond);
return false;
}
void

View File

@ -531,8 +531,10 @@ iwasm_main(int argc, char *argv[])
goto fail2;
}
// timer manager
init_wasm_timer();
/* timer manager */
if (!init_wasm_timer()) {
goto fail3;
}
#ifndef CONNECTION_UART
if (server_mode)
@ -548,6 +550,8 @@ iwasm_main(int argc, char *argv[])
app_manager_startup(&interface);
exit_wasm_timer();
fail3:
exit_sensor_framework();
fail2:

View File

@ -177,12 +177,14 @@ iwasm_main()
wgl_init();
hal_init();
// timer manager
init_wasm_timer();
/* timer manager */
if (!init_wasm_timer()) {
goto fail;
}
// TODO:
app_manager_startup(&interface);
fail:
wasm_runtime_destroy();
return -1;
}

View File

@ -511,8 +511,10 @@ iwasm_main(int argc, char *argv[])
goto fail2;
}
// timer manager
init_wasm_timer();
/* timer manager */
if (!init_wasm_timer()) {
goto fail3;
}
#ifndef CONNECTION_UART
if (server_mode)
@ -528,6 +530,8 @@ iwasm_main(int argc, char *argv[])
app_manager_startup(&interface);
exit_wasm_timer();
fail3:
exit_sensor_framework();
fail2:

View File

@ -118,12 +118,14 @@ iwasm_main()
display_init();
// timer manager
init_wasm_timer();
/* timer manager */
if (!init_wasm_timer()) {
goto fail;
}
// TODO:
app_manager_startup(&interface);
fail:
wasm_runtime_destroy();
return -1;
}

View File

@ -518,9 +518,6 @@ iwasm_main(int argc, char *argv[])
return -1;
}
/* timer manager */
init_wasm_timer();
/* connection framework */
if (!init_connection_framework()) {
goto fail1;
@ -531,6 +528,11 @@ iwasm_main(int argc, char *argv[])
goto fail2;
}
/* timer manager */
if (!init_wasm_timer()) {
goto fail3;
}
/* add the sys sensor objects */
add_sys_sensor("sensor_test1", "This is a sensor for test", 0, 1000,
read_test_sensor, config_test_sensor);
@ -552,6 +554,8 @@ iwasm_main(int argc, char *argv[])
app_manager_startup(&interface);
exit_wasm_timer();
fail3:
exit_sensor_framework();
fail2: