From 182e6ba867f16e5ba2e6fc75092f5a772351b006 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Mon, 6 Nov 2023 16:18:15 +0900 Subject: [PATCH 01/16] Modify thread control This patch uses std::condition_variable::wait_for() instead of std::condition_variable::wait(). The timeout is 5 seconds. Change-Id: I6a5f89bbf4450679c8527121f76966c6451eab52 Signed-off-by: Hwankyu Jhun --- src/lib/launchpad/thread_control.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/launchpad/thread_control.cc b/src/lib/launchpad/thread_control.cc index 41b2ed1..680b305 100644 --- a/src/lib/launchpad/thread_control.cc +++ b/src/lib/launchpad/thread_control.cc @@ -177,9 +177,12 @@ void ThreadControl::SignalHandler(int signo) { auto& inst = ThreadControl::GetInst(); std::unique_lock lock(inst.mutex_); inst.count_--; - inst.cond_.wait(lock, [&] { return inst.done_; }); + if (inst.cond_.wait_for(lock, std::chrono::seconds(5), + [&] { return inst.done_; })) + _D("Unblock"); + else + _E("Timed out"); inst.count_--; - _D("Unblock"); } } // namespace launchpad -- 2.7.4 From c1c15379213de7859ab84db16074fdef13d88c12 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Mon, 6 Nov 2023 16:39:46 +0900 Subject: [PATCH 02/16] Release version 0.38.15 Changes: - Modify thread control Change-Id: I94a8a7e1b27a922714a51154817e19fcd8593047 Signed-off-by: Hwankyu Jhun --- packaging/launchpad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/launchpad.spec b/packaging/launchpad.spec index 8378a80..0c1e774 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.38.14 +Version: 0.38.15 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From bc550e7e7c90b6f17b06de7815e0cd2e99662d08 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Tue, 7 Nov 2023 15:19:04 +0900 Subject: [PATCH 03/16] Change launch mode to previous operation This patch changes the launch mode of loader management to the previous operation. Change-Id: I426a16dc1c2f58eb46132d8a789c73a6199aaa9a Signed-off-by: Hwankyu Jhun --- src/launchpad-process-pool/conf/launchpad.conf.in | 2 +- src/launchpad-process-pool/config.hh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/launchpad-process-pool/conf/launchpad.conf.in b/src/launchpad-process-pool/conf/launchpad.conf.in index e05b7ba..139d35f 100644 --- a/src/launchpad-process-pool/conf/launchpad.conf.in +++ b/src/launchpad-process-pool/conf/launchpad.conf.in @@ -36,4 +36,4 @@ NumberOfLoaderProcesses=1 ## - When the loader process is executed, the launchpad sets the low scheduling priority to the running process. ## - And then, the launchpad sets the normal priority to the running process if the launch request is delivered. [LaunchMode] -Mode=Default_Operation +Mode=Previous_Operation diff --git a/src/launchpad-process-pool/config.hh b/src/launchpad-process-pool/config.hh index 0daf5b2..f02f6fd 100644 --- a/src/launchpad-process-pool/config.hh +++ b/src/launchpad-process-pool/config.hh @@ -106,7 +106,7 @@ class Config { const Mode GetMode() const; private: - Mode mode_ = Mode::DefaultOperation; + Mode mode_ = Mode::PreviousOperation; }; Config(const Config&) = delete; -- 2.7.4 From f08a5ed8eeb32ffcb72666da8d237f3ec97d8fd1 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Tue, 7 Nov 2023 17:11:30 +0900 Subject: [PATCH 04/16] Release version 0.38.16 Changes: - Change launch mode to previous operation Change-Id: Ie7dff13b165d80ae8c7cc127c719cbe991c31f01 Signed-off-by: Hwankyu Jhun --- packaging/launchpad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/launchpad.spec b/packaging/launchpad.spec index 0c1e774..6252aef 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.38.15 +Version: 0.38.16 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From 569a31017c4876e3e61895a87765c9ea4f055b3c Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Fri, 10 Nov 2023 13:23:38 +0900 Subject: [PATCH 05/16] Remove SendStartupSignal step This step is moved to aul lib constuctor. Change-Id: I35b7f791c3c5c9ed8e33233c7ef88506d10c3cfc Signed-off-by: Changgyu Choi --- src/launchpad-process-pool/app_executor.cc | 7 ------- src/launchpad-process-pool/app_executor.hh | 1 - src/lib/launchpad/step_prepare_execution.cc | 9 --------- src/lib/launchpad/step_prepare_execution.hh | 1 - 4 files changed, 18 deletions(-) diff --git a/src/launchpad-process-pool/app_executor.cc b/src/launchpad-process-pool/app_executor.cc index 06dda58..db3d09f 100644 --- a/src/launchpad-process-pool/app_executor.cc +++ b/src/launchpad-process-pool/app_executor.cc @@ -87,8 +87,6 @@ AppExecutor::AppExecutor() : Executor(this) { std::bind(&AppExecutor::StepWaitTepMount, this)); prepare_funcs_.push_back( std::bind(&AppExecutor::StepPrepareAppSocketAndIdFile, this)); - prepare_funcs_.push_back( - std::bind(&AppExecutor::StepSendStartupSignal, this)); auto& process_pool_config = Config::GetInst().GetProcessPool(); process_pool_ = std::unique_ptr( @@ -257,11 +255,6 @@ int AppExecutor::StepPrepareAppSocketAndIdFile() { return Util::PrepareAppIdFile(app_info_); } -int AppExecutor::StepSendStartupSignal() { - Util::SendCmdToAmd(AmdCmd::AppStartupSignal); - return 0; -} - void AppExecutor::CheckAndPrepareDebugging() { auto& debug = Debug::GetInst(); auto& b = app_info_->GetBundle(); diff --git a/src/launchpad-process-pool/app_executor.hh b/src/launchpad-process-pool/app_executor.hh index 94b23fa..e056353 100644 --- a/src/launchpad-process-pool/app_executor.hh +++ b/src/launchpad-process-pool/app_executor.hh @@ -58,7 +58,6 @@ class AppExecutor : public Executor::Delegator, int StepSetEnvironments(); int StepWaitTepMount(); int StepPrepareAppSocketAndIdFile(); - int StepSendStartupSignal(); void CheckAndPrepareDebugging(); std::vector GetLauncherArgv(const std::string& app_type); diff --git a/src/lib/launchpad/step_prepare_execution.cc b/src/lib/launchpad/step_prepare_execution.cc index 1c19ce0..248b947 100644 --- a/src/lib/launchpad/step_prepare_execution.cc +++ b/src/lib/launchpad/step_prepare_execution.cc @@ -61,8 +61,6 @@ StepPrepareExecution::StepPrepareExecution() { std::placeholders::_1), std::bind(&StepPrepareExecution::PrepareIdFile, this, std::placeholders::_1), - std::bind(&StepPrepareExecution::SendStartupSignal, this, - std::placeholders::_1), }; } @@ -189,11 +187,4 @@ int StepPrepareExecution::PrepareIdFile(AppInfo* app_info) { return 0; } -int StepPrepareExecution::SendStartupSignal(AppInfo* app_info) { - if (Util::SendCmdToAmd(AmdCmd::AppStartupSignal) != 0) - _W("Failed to send startup signal"); - - return 0; -} - } // namespace launchpad diff --git a/src/lib/launchpad/step_prepare_execution.hh b/src/lib/launchpad/step_prepare_execution.hh index f95514b..ce69814 100644 --- a/src/lib/launchpad/step_prepare_execution.hh +++ b/src/lib/launchpad/step_prepare_execution.hh @@ -43,7 +43,6 @@ class StepPrepareExecution { int WaitTepMount(AppInfo* app_info); int PrepareAppSocket(AppInfo* app_info); int PrepareIdFile(AppInfo* app_info); - int SendStartupSignal(AppInfo* app_info); private: std::vector> steps_; -- 2.7.4 From bbf664afebb168b7542916778af43a38aecdf74b Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Tue, 14 Nov 2023 14:47:47 +0900 Subject: [PATCH 06/16] Set a new environment variable for fast launch If an application is executed by the fast launch option, the launchpad adds the "AUL_FAST_LAUNCH" variable to the environment. Change-Id: Ia43ce56a34dc103b1ae1b8ff740f90b2e861e8c6 Signed-off-by: Hwankyu Jhun --- src/lib/launchpad-common/aul_keys.hh | 52 +++++++++++++++++++----------------- src/lib/launchpad-glib/util.cc | 4 +++ 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/src/lib/launchpad-common/aul_keys.hh b/src/lib/launchpad-common/aul_keys.hh index 4a4cc70..61e1a69 100644 --- a/src/lib/launchpad-common/aul_keys.hh +++ b/src/lib/launchpad-common/aul_keys.hh @@ -19,39 +19,41 @@ namespace launchpad { -constexpr const char kAulStarttime[] = "__AUL_STARTTIME__"; -constexpr const char kAulExec[] = "__AUL_EXEC__"; -constexpr const char kAulPackageType[] = "__AUL_PACKAGETYPE__"; +constexpr const char kAulApiVersion[] = "__AUL_API_VERSION__"; +constexpr const char kAulAppId[] = "__AUL_APPID__"; constexpr const char kAulAppType[] = "__AUL_APP_TYPE__"; +constexpr const char kAulCallerPid[] = "__AUL_CALLER_PID__"; +constexpr const char kAulCompType[] = "__AUL_COMP_TYPE__"; +constexpr const char kAulDebug[] = "__AUL_DEBUG__"; +constexpr const char kAulEnabledLightUser[] = "__AUL_ENABLED_LIGHT_USER__"; +constexpr const char kAulExec[] = "__AUL_EXEC__"; +constexpr const char kAulFastLaunch[] = "__AUL_FAST_LAUNCH__"; +constexpr const char kAulHighPriority[] = "__AUL_HIGHPRIORITY__"; constexpr const char kAulHwAcc[] = "__AUL_HWACC__"; -constexpr const char kAulAppId[] = "__AUL_APPID__"; -constexpr const char kAulPid[] = "__AUL_PID__"; -constexpr const char kAulTaskManage[] = "__AUL_TASKMANAGE__"; +constexpr const char kAulInstalledStorage[] = "__AUL_INSTALLED_STORAGE__"; constexpr const char kAulInternalPool[] = "__AUL_INTERNAL_POOL__"; -constexpr const char kAulPkgId[] = "__AUL_PKGID_"; -constexpr const char kAulDebug[] = "__AUL_DEBUG__"; -constexpr const char kAulCompType[] = "__AUL_COMP_TYPE__"; -constexpr const char kAulCallerPid[] = "__AUL_CALLER_PID__"; +constexpr const char kAulIsGlobal[] = "__AUL_IS_GLOBAL__"; +constexpr const char kAulIsInstalled[] = "__AUL_IS_INSTALLED__"; +constexpr const char kAulLoaderExtra[] = "__AUL_LOADER_EXTRA__"; constexpr const char kAulLoaderId[] = "__AUL_LOADER_ID__"; +constexpr const char kAulLoaderName[] = "__AUL_LOADER_NAME__"; constexpr const char kAulLoaderPath[] = "__AUL_LOADER_PATH__"; -constexpr const char kAulLoaderExtra[] = "__AUL_LOADER_EXTRA__"; -constexpr const char kAulWaylandDisplay[] = "__AUL_WAYLAND_DISPLAY__"; -constexpr const char kAulWaylandWorkingDir[] = "__AUL_WAYLAND_WORKING_DIR__"; +constexpr const char kAulMountAllowedResDir[] = "__AUL_MOUNT_ALLOWED_RES_DIR__"; +constexpr const char kAulMountGlobalResDir[] = "__AUL_MOUNT_GLOBAL_RES_DIR__"; +constexpr const char kAulMountResPkgIds[] = "__AUL_MOUNT_RES_PKGIDS__"; +constexpr const char kAulMultipleInstanceAppId[] = + "__AUL_MULTIPLE_INSTANCE_APPID__"; +constexpr const char kAulOrgCallerPid[] = "__AUL_ORG_CALLER_PID__"; +constexpr const char kAulPackageType[] = "__AUL_PACKAGETYPE__"; +constexpr const char kAulPid[] = "__AUL_PID__"; +constexpr const char kAulPkgId[] = "__AUL_PKGID_"; constexpr const char kAulRootPath[] = "__AUL_ROOT_PATH__"; -constexpr const char kAulApiVersion[] = "__AUL_API_VERSION__"; -constexpr const char kAulLoaderName[] = "__AUL_LOADER_NAME__"; constexpr const char kAulSdk[] = "__AUL_SDK__"; -constexpr const char kAulOrgCallerPid[] = "__AUL_ORG_CALLER_PID__"; -constexpr const char kAulHighPriority[] = "__AUL_HIGHPRIORITY__"; -constexpr const char kAulIsGlobal[] = "__AUL_IS_GLOBAL__"; +constexpr const char kAulStarttime[] = "__AUL_STARTTIME__"; +constexpr const char kAulTaskManage[] = "__AUL_TASKMANAGE__"; constexpr const char kAulTepPath[] = "__AUL_TEP_PATH__"; -constexpr const char kAulIsInstalled[] = "__AUL_IS_INSTALLED__"; -constexpr const char kAulInstalledStorage[] = "__AUL_INSTALLED_STORAGE__"; -constexpr const char kAulMountGlobalResDir[] = "__AUL_MOUNT_GLOBAL_RES_DIR__"; -constexpr const char kAulMountAllowedResDir[] = "__AUL_MOUNT_ALLOWED_RES_DIR__"; -constexpr const char kAulEnabledLightUser[] = "__AUL_ENABLED_LIGHT_USER__"; -constexpr const char kAulMountResPkgIds[] = "__AUL_MOUNT_RES_PKGIDS__"; -constexpr const char kAulMultipleInstanceAppId[] = "__AUL_MULTIPLE_INSTANCE_APPID__"; +constexpr const char kAulWaylandDisplay[] = "__AUL_WAYLAND_DISPLAY__"; +constexpr const char kAulWaylandWorkingDir[] = "__AUL_WAYLAND_WORKING_DIR__"; } // namespace launchpad diff --git a/src/lib/launchpad-glib/util.cc b/src/lib/launchpad-glib/util.cc index 9d6cd0a..c330f5d 100644 --- a/src/lib/launchpad-glib/util.cc +++ b/src/lib/launchpad-glib/util.cc @@ -380,6 +380,10 @@ void Util::SetEnvironments(const AppInfo* app_info) { if (getenv("TIZEN_GLIB_CONTEXT") == nullptr) setenv("TIZEN_GLIB_CONTEXT", "0", 1); + value = b.GetString(kAulFastLaunch); + if (!value.empty()) + setenv("AUL_FAST_LAUNCH", value.c_str(), 1); + SetLanguageEnvironments(); SetRegionFormatEnvironments(); -- 2.7.4 From 14c0255abbac6791adf1e8b0f1d6710a532091d8 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Wed, 15 Nov 2023 10:41:14 +0900 Subject: [PATCH 07/16] Release version 0.38.17 Changes: - Remove SendStartupSignal step - Set a new environment variable for fast launch Change-Id: I5276287cccabcbff3bf3006cdee4d6246974461b Signed-off-by: Hwankyu Jhun --- packaging/launchpad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/launchpad.spec b/packaging/launchpad.spec index 6252aef..cc960b1 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.38.16 +Version: 0.38.17 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From d32ec0cef1251b3210609e88085532a684fb0f5c Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Wed, 15 Nov 2023 17:48:34 +0900 Subject: [PATCH 08/16] Send Startup signal In the loader case, the process already loaded the aul library. AppStartupSignal is sent while loading the aul library. Sending AppStartupSignal is needed in the loader case. Change-Id: I4968fe72992f24d6bf19c957f43967080602f5f0 Signed-off-by: Hwankyu Jhun --- src/lib/launchpad/step_prepare_execution.cc | 9 +++++++++ src/lib/launchpad/step_prepare_execution.hh | 1 + 2 files changed, 10 insertions(+) diff --git a/src/lib/launchpad/step_prepare_execution.cc b/src/lib/launchpad/step_prepare_execution.cc index 248b947..1c19ce0 100644 --- a/src/lib/launchpad/step_prepare_execution.cc +++ b/src/lib/launchpad/step_prepare_execution.cc @@ -61,6 +61,8 @@ StepPrepareExecution::StepPrepareExecution() { std::placeholders::_1), std::bind(&StepPrepareExecution::PrepareIdFile, this, std::placeholders::_1), + std::bind(&StepPrepareExecution::SendStartupSignal, this, + std::placeholders::_1), }; } @@ -187,4 +189,11 @@ int StepPrepareExecution::PrepareIdFile(AppInfo* app_info) { return 0; } +int StepPrepareExecution::SendStartupSignal(AppInfo* app_info) { + if (Util::SendCmdToAmd(AmdCmd::AppStartupSignal) != 0) + _W("Failed to send startup signal"); + + return 0; +} + } // namespace launchpad diff --git a/src/lib/launchpad/step_prepare_execution.hh b/src/lib/launchpad/step_prepare_execution.hh index ce69814..f95514b 100644 --- a/src/lib/launchpad/step_prepare_execution.hh +++ b/src/lib/launchpad/step_prepare_execution.hh @@ -43,6 +43,7 @@ class StepPrepareExecution { int WaitTepMount(AppInfo* app_info); int PrepareAppSocket(AppInfo* app_info); int PrepareIdFile(AppInfo* app_info); + int SendStartupSignal(AppInfo* app_info); private: std::vector> steps_; -- 2.7.4 From 482d4253e943c5bcb43bd48ee0d8f63808969476 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Wed, 15 Nov 2023 17:52:16 +0900 Subject: [PATCH 09/16] Release version 0.38.18 Changes: - Send Startup signal Change-Id: I0d6944fc2c6618db0e08e46223926bc6807216a8 Signed-off-by: Hwankyu Jhun --- packaging/launchpad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/launchpad.spec b/packaging/launchpad.spec index cc960b1..cd5da2b 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.38.17 +Version: 0.38.18 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From 2149cc03a127dcf42fe53f6bc5e649790d1ad29c Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Mon, 20 Nov 2023 11:23:49 +0900 Subject: [PATCH 10/16] Rollback SendStartupSignal() For apps that do not use some aul api, roll back previous patch. Rollback: - https://review.tizen.org/gerrit/c/platform/core/appfw/launchpad/+/301173 Change-Id: I6383e998cdaa55e790b7d5bf0c8031c7cbc4d40c Signed-off-by: Changgyu Choi --- src/launchpad-process-pool/app_executor.cc | 7 +++++++ src/launchpad-process-pool/app_executor.hh | 1 + 2 files changed, 8 insertions(+) diff --git a/src/launchpad-process-pool/app_executor.cc b/src/launchpad-process-pool/app_executor.cc index db3d09f..06dda58 100644 --- a/src/launchpad-process-pool/app_executor.cc +++ b/src/launchpad-process-pool/app_executor.cc @@ -87,6 +87,8 @@ AppExecutor::AppExecutor() : Executor(this) { std::bind(&AppExecutor::StepWaitTepMount, this)); prepare_funcs_.push_back( std::bind(&AppExecutor::StepPrepareAppSocketAndIdFile, this)); + prepare_funcs_.push_back( + std::bind(&AppExecutor::StepSendStartupSignal, this)); auto& process_pool_config = Config::GetInst().GetProcessPool(); process_pool_ = std::unique_ptr( @@ -255,6 +257,11 @@ int AppExecutor::StepPrepareAppSocketAndIdFile() { return Util::PrepareAppIdFile(app_info_); } +int AppExecutor::StepSendStartupSignal() { + Util::SendCmdToAmd(AmdCmd::AppStartupSignal); + return 0; +} + void AppExecutor::CheckAndPrepareDebugging() { auto& debug = Debug::GetInst(); auto& b = app_info_->GetBundle(); diff --git a/src/launchpad-process-pool/app_executor.hh b/src/launchpad-process-pool/app_executor.hh index e056353..94b23fa 100644 --- a/src/launchpad-process-pool/app_executor.hh +++ b/src/launchpad-process-pool/app_executor.hh @@ -58,6 +58,7 @@ class AppExecutor : public Executor::Delegator, int StepSetEnvironments(); int StepWaitTepMount(); int StepPrepareAppSocketAndIdFile(); + int StepSendStartupSignal(); void CheckAndPrepareDebugging(); std::vector GetLauncherArgv(const std::string& app_type); -- 2.7.4 From 0b00c16bef406cb031a2c29da693bbf4fe157688 Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Mon, 20 Nov 2023 12:52:03 +0900 Subject: [PATCH 11/16] Release version 0.38.19 Changes: - Rollback SendStartupSignal() Change-Id: I519e95eb83dd0d85d2fdf59247ebd57bbf1605d8 Signed-off-by: Changgyu Choi --- packaging/launchpad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/launchpad.spec b/packaging/launchpad.spec index cd5da2b..4057c1f 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.38.18 +Version: 0.38.19 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From 0179e22b2fab06bc9daa253c72c1c3a3426f56af Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Mon, 20 Nov 2023 17:36:26 +0900 Subject: [PATCH 12/16] Add restart loader condition When handling the RESTART_LOADER command, it is necessary to check whether the loader_context is launchable. In some cases, a problem occurred by launching a loader in a non-executable state. This patch fixes this case. Change-Id: I835799364d4dcd4e0d8c30e0d60a52f5ec08ff10 Signed-off-by: Changgyu Choi --- src/launchpad-process-pool/launchpad.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/launchpad-process-pool/launchpad.cc b/src/launchpad-process-pool/launchpad.cc index bfbe8ad..1562f15 100644 --- a/src/launchpad-process-pool/launchpad.cc +++ b/src/launchpad-process-pool/launchpad.cc @@ -606,7 +606,7 @@ void Launchpad::HandleRestartLoaderRequest(std::shared_ptr request) { if (loader_context->RefCount() == 0) loader_context->Dispose(); - if (loader_context->GetPid() < 1) + if (loader_context->GetPid() < 1 && loader_context->IsLaunchable()) loader_context->Prepare(); _W("[PAD_CMD_RESTART_LOADER] loader_name: %s, pid: %d", -- 2.7.4 From 0ba2342c5fb819320736c45b1ffd4de605e2b3a5 Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Tue, 21 Nov 2023 12:47:54 +0900 Subject: [PATCH 13/16] Release version 0.38.20 Changes: - Add restart loader condition Change-Id: Id4daf7244fe76857b60b5c76c52a8af5bb21b43b Signed-off-by: Changgyu Choi --- packaging/launchpad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/launchpad.spec b/packaging/launchpad.spec index 4057c1f..8f00b45 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.38.19 +Version: 0.38.20 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From e6d5bee452cc2548fecc48dc6ddd6dc8a64a2c9e Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Wed, 29 Nov 2023 16:36:17 +0900 Subject: [PATCH 14/16] Increase cpu boosting interval Some low-end devices have a problem of delaying app execution at boot time. This patch improves this problem by increasing cpu boosting interval. Change-Id: Ic4c22e5a23c45a8fa31b61f0d2a460a4cf8f6dbf Signed-off-by: Changgyu Choi --- src/launchpad-process-pool/launchpad.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/launchpad-process-pool/launchpad.cc b/src/launchpad-process-pool/launchpad.cc index 1562f15..3195c71 100644 --- a/src/launchpad-process-pool/launchpad.cc +++ b/src/launchpad-process-pool/launchpad.cc @@ -214,7 +214,7 @@ Launchpad::Launchpad(int argc, char** argv) -1, true); } - g_timeout_add(1000, [](gpointer data) { + g_timeout_add(3000, [](gpointer data) { CPUBoostController::Clear(getpid()); return G_SOURCE_REMOVE; }, this); -- 2.7.4 From e83084d103ad229ff910f914664a4928d9def718 Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Thu, 30 Nov 2023 09:11:40 +0900 Subject: [PATCH 15/16] Release version 0.38.21 Changes: - Increase cpu boosting interval Change-Id: I7aad16d41b598ae11e59a3ef9a09ee64d603097d Signed-off-by: Changgyu Choi --- packaging/launchpad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/launchpad.spec b/packaging/launchpad.spec index 8f00b45..f16704f 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.38.20 +Version: 0.38.21 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From b9edbe6da444225d921e0d801b6fa32b2537a97c Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Wed, 13 Dec 2023 10:10:53 +0900 Subject: [PATCH 16/16] Revert "Increase cpu boosting interval" This reverts commit e6d5bee452cc2548fecc48dc6ddd6dc8a64a2c9e. Change-Id: Ifb5a779f45e05ed0b78de47efd9fcb2e3daa7b79 --- src/launchpad-process-pool/launchpad.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/launchpad-process-pool/launchpad.cc b/src/launchpad-process-pool/launchpad.cc index 3195c71..1562f15 100644 --- a/src/launchpad-process-pool/launchpad.cc +++ b/src/launchpad-process-pool/launchpad.cc @@ -214,7 +214,7 @@ Launchpad::Launchpad(int argc, char** argv) -1, true); } - g_timeout_add(3000, [](gpointer data) { + g_timeout_add(1000, [](gpointer data) { CPUBoostController::Clear(getpid()); return G_SOURCE_REMOVE; }, this); -- 2.7.4