From 7e340b124834eff18a7f9b8d7c3584864ec62db4 Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Fri, 14 Jul 2023 16:55:18 +0900 Subject: [PATCH] Change exit method When a app-defined-loader failed app launch, it is exited using exit(). But in some cases, the loader process becomes deadlocked due to sub thread resources. This patch changes exit method to _exit(). Change-Id: Ibabf46e1ba58b596197ab71b479b6d2af02591b8 Signed-off-by: Changgyu Choi --- src/app-defined-loader/app-defined-loader.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app-defined-loader/app-defined-loader.cc b/src/app-defined-loader/app-defined-loader.cc index 92fff33..01e73e0 100644 --- a/src/app-defined-loader/app-defined-loader.cc +++ b/src/app-defined-loader/app-defined-loader.cc @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -153,7 +154,7 @@ class AppDefinedLoader { int ret = launchpad::Plugin::PrepareApp("", ex); if (ret != 0) { _E("Plugin::PrepareApp() is failed. error(%d)", ret); - exit(EXIT_FAILURE); + _exit(EXIT_FAILURE); } } @@ -190,7 +191,7 @@ class AppDefinedLoader { if (execv(argv_[0], argv_) < 0) { fprintf(stderr, "Failed to execute a file. path: %s, errno: %d(%s)\n", argv_[0], errno, strerror_r(errno, err_str, sizeof(err_str))); - exit(EXIT_FAILURE); + _exit(EXIT_FAILURE); } } } -- 2.7.4