From e5a05f3bbc4b997071b26882a21baba11fe54ddb Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Fri, 4 Feb 2022 13:56:38 +0900 Subject: [PATCH 01/16] Change mount namespace When executing the debug tool process, the child process has to change the mount namespace to the mount namespace of the target process if the option is 'attach'. Change-Id: I9db343a70f614d18d291018ecab04a4db2b8fec0 Signed-off-by: Hwankyu Jhun --- src/launchpad-process-pool/inc/launchpad_debug.h | 1 + src/launchpad-process-pool/src/launchpad.c | 3 +++ src/launchpad-process-pool/src/launchpad_debug.c | 33 ++++++++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/src/launchpad-process-pool/inc/launchpad_debug.h b/src/launchpad-process-pool/inc/launchpad_debug.h index a866270..1697900 100644 --- a/src/launchpad-process-pool/inc/launchpad_debug.h +++ b/src/launchpad-process-pool/inc/launchpad_debug.h @@ -20,6 +20,7 @@ #include #include +int _debug_change_mount_namespace(void); int _debug_create_extra_argv(int *arg, char ***argv); int _debug_create_argv(int *argc, char ***argv, bool *attach); void _debug_destroy_argv(int argc, char **argv); diff --git a/src/launchpad-process-pool/src/launchpad.c b/src/launchpad-process-pool/src/launchpad.c index c269006..b4907f0 100644 --- a/src/launchpad-process-pool/src/launchpad.c +++ b/src/launchpad-process-pool/src/launchpad.c @@ -1263,6 +1263,9 @@ static int __prepare_exec(const char *appid, const char *app_path, if (ret < 0) return PAD_ERR_FAILED; + if (bundle_get_type(kb, AUL_K_SDK) != BUNDLE_TYPE_NONE) + _debug_change_mount_namespace(); + /* SET PRIVILEGES*/ _W("security_manager_prepare_app ++"); ret = security_manager_prepare_app(appid); diff --git a/src/launchpad-process-pool/src/launchpad_debug.c b/src/launchpad-process-pool/src/launchpad_debug.c index 37934e0..8040f45 100644 --- a/src/launchpad-process-pool/src/launchpad_debug.c +++ b/src/launchpad-process-pool/src/launchpad_debug.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "debugger_info.h" #include "key.h" @@ -38,6 +39,32 @@ static debugger_info_h __debugger_info; static GList *__debug_argv_list; static GList *__extra_argv_list; +int _debug_change_mount_namespace(void) +{ + const char *pid_str; + char buf[PATH_MAX]; + int ret; + int fd; + + pid_str = getenv("TARGET_PID"); + if (pid_str == NULL) + return 0; + + snprintf(buf, sizeof(buf), "/proc/%s/ns/mnt", pid_str); + fd = open(buf, O_RDONLY); + if (fd < 0) { + _E("open() is failed. path(%s), errno(%d)", buf, errno); + return -1; + } + + ret = setns(fd, CLONE_NEWNS); + close(fd); + if (ret != 0) + _E("setns() is failed. errno(%d)", errno); + + return ret; +} + int _debug_create_extra_argv(int *argc, char ***argv) { int new_argc; @@ -296,6 +323,12 @@ static void __add_debug_argv(gpointer data, gpointer user_data) __debug_argv_list = g_list_append(__debug_argv_list, strdup(str_arr[i])); + if (!strcmp(key, "__DLP_ATTACH_ARG__")) { + if (isdigit(str_arr[i][0])) { + _D("Target PID: %s", str_arr[i]); + setenv("TARGET_PID", str_arr[i], 1); + } + } } if (str_arr) -- 2.7.4 From a3af73971ba754fed91d9dc3cf7d7f93d42d14fe Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Fri, 4 Feb 2022 14:31:35 +0900 Subject: [PATCH 02/16] Release version 0.18.5 Changes: - Change mount namespace Change-Id: Icc5ef1d3cb40c612436b5e6ef08ee629b37f755d 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 c64a1d0..1fdcb6a 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.18.4 +Version: 0.18.5 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From 61bc8b0ae15955585af3edbd1fd9d1c615e89301 Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Thu, 24 Feb 2022 09:43:09 +0900 Subject: [PATCH 03/16] Fix static analysis issue Changes: - Adds checking that the variable is nullptr. Change-Id: I632547066e972cf99d7f2c99b2464b39029e7b24 Signed-off-by: Changgyu Choi --- src/launchpad-parser/launchpad_parser_plugin.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/launchpad-parser/launchpad_parser_plugin.cc b/src/launchpad-parser/launchpad_parser_plugin.cc index 8ccee30..f873673 100644 --- a/src/launchpad-parser/launchpad_parser_plugin.cc +++ b/src/launchpad-parser/launchpad_parser_plugin.cc @@ -142,6 +142,9 @@ int LaunchpadParser::Upgrade(xmlDocPtr doc, std::string pkgid) { int LaunchpadParser::UnInstall(xmlDocPtr doc, std::string pkgid) { xmlNode* root = xmlDocGetRootElement(doc); + if (root == nullptr) + return -1; + for (xmlNode* node = root->children; node; node = node->next) { if (!node->name) continue; -- 2.7.4 From 1e7e6c764c9756c18dfaf34d81399d698e6f5413 Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Thu, 24 Feb 2022 09:56:54 +0900 Subject: [PATCH 04/16] Release version 0.18.6 Changes: - Fix static analysis issue Change-Id: I51bccb92f6af801441171d771217b30b605eae81 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 1fdcb6a..2c4104c 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.18.5 +Version: 0.18.6 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From 49826a7ac0f6e289a7fca10ac0d471a3cc3a03da Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Fri, 18 Mar 2022 09:50:48 +0900 Subject: [PATCH 05/16] Add logs for debugging Change-Id: Ie8e96eea8d08aa6b4024045c4c60caaa3f353093 Signed-off-by: Changgyu Choi --- src/launchpad-process-pool/src/launchpad.c | 44 ++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/src/launchpad-process-pool/src/launchpad.c b/src/launchpad-process-pool/src/launchpad.c index b4907f0..104f426 100644 --- a/src/launchpad-process-pool/src/launchpad.c +++ b/src/launchpad-process-pool/src/launchpad.c @@ -1489,7 +1489,10 @@ static bool __handle_loader_event(int fd, io_condition_e cond, void *data) cpc->prepared = true; cpc->send_fd = client_fd; - SECURE_LOGD("Type %d candidate process was connected, " + SECURE_LOGI("Type %d candidate process was connected, " + "pid: %d", cpc->type, cpc->pid); + + _print_hwc_log("Type %d candidate process was connected, " "pid: %d", cpc->type, cpc->pid); cpc->client_channel = _io_channel_create(client_fd, IO_IN | IO_HUP, @@ -2116,10 +2119,12 @@ static void __update_slot_state(candidate_process_context_t *cpc, int method, switch (method) { case METHOD_OUT_OF_MEMORY: if ((force || cpc->deactivation_method & method) && - __is_low_memory()) + __is_low_memory()) { + _W("Low memory, deactivate slot %d", cpc->type); __deactivate_slot(cpc); - else + } else { __activate_slot(cpc); + } break; case METHOD_TTL: if (force || cpc->deactivation_method & method) @@ -2767,12 +2772,37 @@ static int __verify_loader_caps(const char *loader) return 0; } +static void __get_app_type_string(loader_info_t *info, char buf[], int size) +{ + GList *iter = info->app_types; + char *app_type; + char *ptr = buf; + int len; + + while (iter) { + app_type = (char *)iter->data; + iter = g_list_next(iter); + len = strlen(app_type); + if (size < len + 1) + return; + + strncpy(ptr, app_type, size); + ptr += len; + size -= len; + if (iter) { + (*ptr++) = ' '; + size--; + } + } +} + static void __add_slot_from_info(gpointer data, gpointer user_data) { loader_info_t *info = (loader_info_t *)data; candidate_process_context_t *cpc; bundle_raw *extra = NULL; int len; + char buf[2048] = {0, }; if (!strcmp(info->exe, "null")) { cpc = __add_slot(LAUNCHPAD_LOADER_TYPE_USER + user_slot_offset, @@ -2821,7 +2851,12 @@ static void __add_slot_from_info(gpointer data, gpointer user_data) info->type = LAUNCHPAD_LOADER_TYPE_USER + user_slot_offset; user_slot_offset++; - } + __get_app_type_string(info, buf, sizeof(buf)); + _I("candidate slot. app-type(%s) loader-type(%d)", + buf, info->type); + _print_hwc_log("candidate slot. app-type(%s) loader-type(%d)", + buf, info->type); + } } static int __add_default_slots(void) @@ -3277,4 +3312,3 @@ int main(int argc, char **argv) return -1; } - -- 2.7.4 From dc9feb7667544365f5021b3261ff75f882d9ce23 Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Fri, 18 Mar 2022 15:39:22 +0900 Subject: [PATCH 06/16] Release version 0.18.7 Changes: - Add logs for debugging Change-Id: I35a39180bd86fe4c1c324bf5258d5411e6b9fa06 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 2c4104c..9d1238f 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.18.6 +Version: 0.18.7 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From 9a7688474a189bbf663df76836a7c62bfd0c2673 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Tue, 22 Mar 2022 07:55:04 +0900 Subject: [PATCH 07/16] Remove executable file check Checking the executable file can be slow when the system is boot up. It causes performance degrdation of AMD. This patch is to prevent performance degradation. Change-Id: I0133598ce003e49b1d238266600b5fc415df3eeb Signed-off-by: Hwankyu Jhun --- src/launchpad-process-pool/src/launchpad.c | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/src/launchpad-process-pool/src/launchpad.c b/src/launchpad-process-pool/src/launchpad.c index 104f426..37fd7a3 100644 --- a/src/launchpad-process-pool/src/launchpad.c +++ b/src/launchpad-process-pool/src/launchpad.c @@ -2151,7 +2151,6 @@ static bool __handle_launch_event(int fd, io_condition_e cond, void *data) appinfo_t *menu_info = NULL; candidate_process_context_t *cpc = NULL; candidate_process_context_t *org_cpc = NULL; - const char *installed_storage; const char *app_path = NULL; int pid = -1; int clifd = -1; @@ -2269,22 +2268,6 @@ static bool __handle_launch_event(int fd, io_condition_e cond, void *data) goto end; } - installed_storage = bundle_get_val(kb, AUL_K_INSTALLED_STORAGE); - if (!installed_storage || strcmp(installed_storage, "external") != 0) { - if (menu_info->app_type && - (!strcmp(menu_info->app_type, "capp") || - !strcmp(menu_info->app_type, "c++app"))) { - if (access(app_path, X_OK) != 0) { - ret = -errno; - _E("%s is not executable. errno(%d)", - app_path, errno); - __send_result_to_caller(clifd, ret); - clifd = -1; - goto end; - } - } - } - if (menu_info->hwacc == NULL) { _E("[launchpad] Failed to find H/W acceleration type"); __send_result_to_caller(clifd, -EINVAL); -- 2.7.4 From 5981e0f1f4c3545fb43366887a22465fb51b983f Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Tue, 22 Mar 2022 09:15:39 +0900 Subject: [PATCH 08/16] Release version 0.18.8 Changes: - Remove executable file check Change-Id: I8f333a398b043479d993285a262ca9c0776ad929 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 9d1238f..e2fcb05 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.18.7 +Version: 0.18.8 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From 5982b02ac90e6898a40bc39117557e83478d3675 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Fri, 15 Apr 2022 08:20:36 +0900 Subject: [PATCH 09/16] [UI Thread] Set a new environment variable To prevent race condition about calling setenv(), the launchpad sets "TIZEN_GLIB_CONTEXT" environment variable. Change-Id: I161ef17f785556b39e74d1bf4ee277d2c36e7874 Signed-off-by: Hwankyu Jhun --- src/lib/common/src/launchpad_common.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/common/src/launchpad_common.c b/src/lib/common/src/launchpad_common.c index 17ab641..4286a74 100644 --- a/src/lib/common/src/launchpad_common.c +++ b/src/lib/common/src/launchpad_common.c @@ -787,6 +787,7 @@ void _set_env(appinfo_t *menu_info, bundle *kb) snprintf(buf, sizeof(buf), "%d", getpid()); setenv("AUL_PID", buf, 1); + setenv("TIZEN_GLIB_CONTEXT", "0", 1); __set_lang_env(); __set_region_env(); -- 2.7.4 From a3b88f3c7e885b6700bfd17a85a840f03f08c3da Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Fri, 15 Apr 2022 09:47:03 +0900 Subject: [PATCH 10/16] Release version 0.18.9 Changes: - [UI Thread] Set a new environment variable Change-Id: I9307d945ac92ac23dcb10438a1002a42d098b591 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 e2fcb05..5548027 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.18.8 +Version: 0.18.9 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From b67f9e7e9a31a6b2ff4f2867d2c63edd9fda7209 Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Wed, 29 Jun 2022 16:26:30 +0900 Subject: [PATCH 11/16] Add cpu priority inheritance To improve performance in case of IPC call, the cpu priority is inherited from caller process. When calling register_cpu_inheritance_destination(), it can be inherited cpu priority from caller. Requires: - https://review.tizen.org/gerrit/c/platform/core/appfw/amd/+/276948 Change-Id: Ie4ed308f299efc0f76db465d3b824adeec6c1555 Signed-off-by: Changgyu Choi --- CMakeLists.txt | 1 + packaging/launchpad.spec | 2 +- src/launchpad-process-pool/CMakeLists.txt | 1 + src/launchpad-process-pool/src/launchpad.c | 38 ++++++++++++++++++++++++++---- 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fb3d5ca..267df09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,5 +70,6 @@ PKG_CHECK_MODULES(SECURITY_MANAGER_DEPS REQUIRED security-manager) PKG_CHECK_MODULES(TANCHOR_DEPS REQUIRED tanchor) PKG_CHECK_MODULES(TTRACE_DEPS REQUIRED ttrace) PKG_CHECK_MODULES(VCONF_DEPS REQUIRED vconf) +PKG_CHECK_MODULES(CAPI_SYSTEM_RESOURCE_DEPS REQUIRED capi-system-resource) ADD_SUBDIRECTORY(src) diff --git a/packaging/launchpad.spec b/packaging/launchpad.spec index 5548027..a788059 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -33,6 +33,7 @@ BuildRequires: pkgconfig(iniparser) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libsmack) BuildRequires: pkgconfig(pkgmgr-installer) +BuildRequires: pkgconfig(capi-system-resource) Requires(post): /sbin/ldconfig Requires(post): /usr/bin/systemctl @@ -191,4 +192,3 @@ ln -sf ../launchpad-process-pool.service %{buildroot}%{_unitdir_user}/basic.targ %{_libdir}/*.so %{_libdir}/pkgconfig/liblaunchpad.pc %{_libdir}/pkgconfig/liblaunchpad-hydra.pc - diff --git a/src/launchpad-process-pool/CMakeLists.txt b/src/launchpad-process-pool/CMakeLists.txt index b0af4fe..caec083 100644 --- a/src/launchpad-process-pool/CMakeLists.txt +++ b/src/launchpad-process-pool/CMakeLists.txt @@ -39,6 +39,7 @@ APPLY_PKG_CONFIG(${TARGET_LAUNCHPAD_PROCESS_POOL} PUBLIC TANCHOR_DEPS TTRACE_DEPS VCONF_DEPS + CAPI_SYSTEM_RESOURCE_DEPS ) TARGET_LINK_LIBRARIES(${TARGET_LAUNCHPAD_PROCESS_POOL} PUBLIC "-lm -ldl") diff --git a/src/launchpad-process-pool/src/launchpad.c b/src/launchpad-process-pool/src/launchpad.c index 37fd7a3..5b7eb5a 100644 --- a/src/launchpad-process-pool/src/launchpad.c +++ b/src/launchpad-process-pool/src/launchpad.c @@ -15,6 +15,7 @@ */ #define _GNU_SOURCE +#include #include #include #include @@ -72,6 +73,7 @@ #define LOADERS_PATH "loaders" #define APP_DEFINED_LOADER_INFO_PATH OPT_SHARE_PATH "/" LOADERS_PATH #define COMMON_LOADER_NAME "common-loader1" +#define LAUNCHPAD_PROCESS_NAME "launchpad-process-pool" #define LAUNCHER_INFO_PATH LOADER_INFO_PATH #define REGULAR_UID_MIN 5000 @@ -784,6 +786,13 @@ static int __fork_app_process(int (*child_fn)(void *), void *arg) } if (pid == 0) { + resource_pid_t resource_st = { + pid = getpid(), + }; + ret = resource_clear_cpu_boosting(resource_st); + if (ret != 0) + _E("Failed to clear cpu boosting. error(%d)", ret); + _W("security_manager_prepare_app_candidate ++"); ret = security_manager_prepare_app_candidate(); _W("security_manager_prepare_app_candidate --"); @@ -2772,11 +2781,11 @@ static void __get_app_type_string(loader_info_t *info, char buf[], int size) strncpy(ptr, app_type, size); ptr += len; size -= len; - if (iter) { + if (iter) { (*ptr++) = ' '; size--; } - } + } } static void __add_slot_from_info(gpointer data, gpointer user_data) @@ -2834,12 +2843,12 @@ static void __add_slot_from_info(gpointer data, gpointer user_data) info->type = LAUNCHPAD_LOADER_TYPE_USER + user_slot_offset; user_slot_offset++; - __get_app_type_string(info, buf, sizeof(buf)); - _I("candidate slot. app-type(%s) loader-type(%d)", + __get_app_type_string(info, buf, sizeof(buf)); + _I("candidate slot. app-type(%s) loader-type(%d)", buf, info->type); _print_hwc_log("candidate slot. app-type(%s) loader-type(%d)", buf, info->type); - } + } } static int __add_default_slots(void) @@ -3156,6 +3165,9 @@ static gboolean __launchpad_recovery_cb(gpointer data) static int __before_loop(int argc, char **argv) { int ret; + resource_pid_t resource_st = { + .pid = getpid(), + }; _print_hwc_log("%s(%d): START", __FUNCTION__, __LINE__); ret = __sequencer_init(); @@ -3227,11 +3239,27 @@ static int __before_loop(int argc, char **argv) _log_init(); _print_hwc_log("%s(%d): END", __FUNCTION__, __LINE__); + ret = resource_register_cpu_inheritance_destination( + LAUNCHPAD_PROCESS_NAME, resource_st); + if (ret != 0) { + _E("Failed to register cpu inheritance destination. error(%d)", + ret); + } + return 0; } static void __after_loop(void) { + int ret; + + ret = resource_unregister_cpu_inheritance_destination( + LAUNCHPAD_PROCESS_NAME); + if (ret != 0) { + _E("Failed to unregister cpu inheritance destination. " + "error(%d)", ret); + } + _log_fini(); _memory_monitor_fini(); __unregister_vconf_events(); -- 2.7.4 From c3e3665f899d1e73faabd3731d530b0983fcfa52 Mon Sep 17 00:00:00 2001 From: Changgyu Choi Date: Fri, 1 Jul 2022 13:10:36 +0900 Subject: [PATCH 12/16] Release version 0.18.10 Changes: - Add cpu priority inheritance Change-Id: Ie3ad6cfa3bd10cb1051bea4d9d9e319aca4fb004 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 a788059..d61b5c6 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.18.9 +Version: 0.18.10 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From fa72a5a868c941ec5237183bd6d7a5bf0d7f98bd Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Mon, 4 Jul 2022 19:10:30 +0900 Subject: [PATCH 13/16] Apply type converstions The dest_process parameter of resource_register_cpu_inheritance_destination() and resource_unregister_cpu_inheritance_destination() was char* type. This patch adds forced type conversions to convert to char* type. Change-Id: I2dfa722e3a1397e19e483e0e3d5950c3758599ff Signed-off-by: Hwankyu Jhun --- src/launchpad-process-pool/src/launchpad.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/launchpad-process-pool/src/launchpad.c b/src/launchpad-process-pool/src/launchpad.c index 5b7eb5a..745ffa4 100644 --- a/src/launchpad-process-pool/src/launchpad.c +++ b/src/launchpad-process-pool/src/launchpad.c @@ -3240,7 +3240,7 @@ static int __before_loop(int argc, char **argv) _print_hwc_log("%s(%d): END", __FUNCTION__, __LINE__); ret = resource_register_cpu_inheritance_destination( - LAUNCHPAD_PROCESS_NAME, resource_st); + (char*)LAUNCHPAD_PROCESS_NAME, resource_st); if (ret != 0) { _E("Failed to register cpu inheritance destination. error(%d)", ret); @@ -3254,7 +3254,7 @@ static void __after_loop(void) int ret; ret = resource_unregister_cpu_inheritance_destination( - LAUNCHPAD_PROCESS_NAME); + (char*)LAUNCHPAD_PROCESS_NAME); if (ret != 0) { _E("Failed to unregister cpu inheritance destination. " "error(%d)", ret); -- 2.7.4 From 877e3292dc2e75125707b919aca16157928cb885 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Tue, 5 Jul 2022 08:44:32 +0900 Subject: [PATCH 14/16] Release version 0.18.11 Changes: - Apply type converstions Change-Id: I46ea4236057c4f137a7323ecdbc7c21121151300 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 d61b5c6..3254e80 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.18.10 +Version: 0.18.11 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4 From 67527db567db540f9dccab0726653ed9424da90d Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Thu, 14 Jul 2022 13:23:49 +0900 Subject: [PATCH 15/16] Add a new environemtn variable Before executing an application, the process sets GCOV_PREFIX="/tmp" for code coverage measurement. Change-Id: Ifbdc216f7fb507a522ad4cbe631c2b81af3bb5c1 Signed-off-by: Hwankyu Jhun --- src/lib/common/src/launchpad_common.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/common/src/launchpad_common.c b/src/lib/common/src/launchpad_common.c index 4286a74..0717c95 100644 --- a/src/lib/common/src/launchpad_common.c +++ b/src/lib/common/src/launchpad_common.c @@ -794,6 +794,8 @@ void _set_env(appinfo_t *menu_info, bundle *kb) #ifdef TIZEN_FEATURE_SET_PERSONALITY_32 __set_execution_domain(); #endif /* TIZEN_FEATURE_SET_PERSONALITY_32 */ + + setenv("GCOV_PREFIX", "/tmp", 1); } char **_create_argc_argv(bundle *kb, int *margc) -- 2.7.4 From 734051cd151271c31d8fb5532355b021b333db9c Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Thu, 14 Jul 2022 15:40:18 +0900 Subject: [PATCH 16/16] Release version 0.18.12 Changes: - Add a new environemtn variable Change-Id: I83a4a7a3b151bea2910f59c69f184637b1219c84 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 3254e80..001dcc0 100644 --- a/packaging/launchpad.spec +++ b/packaging/launchpad.spec @@ -1,6 +1,6 @@ Name: launchpad Summary: Launchpad for launching applications -Version: 0.18.11 +Version: 0.18.12 Release: 1 Group: Application Framework/Daemons License: Apache-2.0 -- 2.7.4