Remove language_change_cb on the loader accepted/tizen/unified/20220929.140032
authorWoongsuk Cho <ws77.cho@samsung.com>
Thu, 29 Sep 2022 02:18:26 +0000 (11:18 +0900)
committer조웅석/Common Platform Lab(SR)/삼성전자 <ws77.cho@samsung.com>
Thu, 29 Sep 2022 02:32:28 +0000 (11:32 +0900)
Appfw set CultureInfo from i18n when application launching
So, there is no need to restart candidate process when language changed.

Recreating candidate process can make launching failure becauseof timing issue.
(candidate process process killed -> app-launching request raised -> launchpad get sighchild)

To remove this kind timing issue, remove language changed callback

NativeLauncher/launcher/lib/core_runtime.cc

index 385bb60..815f6b2 100644 (file)
@@ -189,14 +189,6 @@ static void initEnvForSpecialFolder()
        }
 }
 
-// terminate candidate process when language changed
-// icu related data (CultureInfo, etc) should be recreated.
-static void langChangedCB(keynode_t *key, void* data)
-{
-       _INFO("terminiate candidate process to update language.");
-       exit(0);
-}
-
 static void setLang()
 {
        char* lang = vconf_get_str(VCONFKEY_LANGSET);
@@ -474,9 +466,6 @@ int CoreRuntime::initialize(const char* appType, LaunchMode launchMode)
        }
 
        if (launchMode == LaunchMode::loader) {
-               // terminate candidate process if language is changed.
-               // CurrentCulture created for preloaded dlls should be updated.
-               vconf_notify_key_changed(VCONFKEY_LANGSET, langChangedCB, NULL);
 
                // preload libraries and manage dlls for optimizing startup time
                preload();
@@ -607,8 +596,6 @@ int CoreRuntime::launch(const char* appId, const char* root, const char* path, i
 
        setSwitch("Switch.System.Diagnostics.StackTrace.ShowILOffsets", true);
 
-       vconf_ignore_key_changed(VCONFKEY_LANGSET, langChangedCB);
-
        pluginBeforeExecute();
 
        _INFO("execute assembly : %s", path);