Add launchpad_loader_block/unblock_thread() method accepted/tizen/unified/20231030.034756
authorj-h.choi <j-h.choi@samsung.com>
Thu, 26 Oct 2023 00:01:26 +0000 (09:01 +0900)
committer조웅석/MDE Lab(SR)/삼성전자 <ws77.cho@samsung.com>
Thu, 26 Oct 2023 06:34:13 +0000 (15:34 +0900)
NativeLauncher/launcher/exec/loader.cc

index 62fccdc..e1079be 100644 (file)
@@ -161,6 +161,17 @@ static void __loader_create_cb(bundle *extra, int type, void *user_data)
        }
 }
 
+static int __loader_prelaunch_cb(int argc, char **argv, const char *app_path,
+               const char *appid, const char *pkgid, const char *pkg_type,
+               void *user_data)
+{
+       int ret = launchpad_loader_block_threads();
+       if (ret != 0) {
+               _ERR("Failed to prelaunch");
+       }
+       return ret;
+}
+
 static int __loader_launch_cb(int argc, char **argv, const char *app_path,
                const char *appid, const char *pkgid, const char *pkg_type,
                void *user_data)
@@ -169,12 +180,11 @@ static int __loader_launch_cb(int argc, char **argv, const char *app_path,
        if (root_path != NULL) {
                __appInfo.root = root_path;
        }
-
        __appInfo.app_path = app_path;
        __appInfo.appid = appid;
        __appInfo.pkgid = pkgid;
 
-       return 0;
+       return launchpad_loader_unblock_threads();
 }
 
 static int __loader_terminate_cb(int argc, char **argv, void *user_data)
@@ -207,6 +217,7 @@ extern "C" int realMain(int argc, char *argv[])
 
        loader_lifecycle_callback_s callbacks = {
                .create = __loader_create_cb,
+               .prelaunch = __loader_prelaunch_cb,
                .launch = __loader_launch_cb,
                .terminate = __loader_terminate_cb
        };