platform/core/appfw/launchpad.git
19 months agoAdd to enable TIZEN_ASAN_ACTIVATION 04/288804/18
Changgyu Choi [Thu, 23 Feb 2023 08:10:28 +0000 (17:10 +0900)]
Add to enable TIZEN_ASAN_ACTIVATION

If you want to add the TIZEN_ASAN_ACTIVATION environment variable when launching a certain app,
add the appid to the /opt/usr/share/aul/debug/.asan_app_list.

Change-Id: I7eba02d0a7f0afd9ad7588526ba9e923a5325d4e
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
19 months agoFix 64bit build error 22/289522/1
Changgyu Choi [Thu, 9 Mar 2023 06:25:37 +0000 (15:25 +0900)]
Fix 64bit build error

In 64bit environment, size_t may be 8bytes.

Change-Id: I1a6abfbe2eb52dfaa5165aef50ff72b1081119f2
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
19 months agoAdd liblaunchpad-common library for launchpad daemons 44/289444/9
Hwankyu Jhun [Thu, 9 Mar 2023 05:03:33 +0000 (05:03 +0000)]
Add liblaunchpad-common library for launchpad daemons

The liblaunchpad-common library is added for launchpad daemons.

Change-Id: I4cc7d88a3709184a6cfd3908160d23c044341648
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
19 months agoRelease version 0.25.1 02/289402/1 accepted/tizen/unified/20230309.035153
Hwankyu Jhun [Tue, 7 Mar 2023 06:03:52 +0000 (06:03 +0000)]
Release version 0.25.1

Changes:
 - Add logs for debugging loader creation

Change-Id: I446868898d85d6b3ce30a6fa6f8f2f6fb415be52
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
19 months agoAdd logs for debugging loader creation 01/289401/1
Hwankyu Jhun [Tue, 7 Mar 2023 05:57:08 +0000 (05:57 +0000)]
Add logs for debugging loader creation

To debug loader creation, new logs are added.

Change-Id: I1ca9c480ba7f11d4321639df8a0dc7f07cbfd87f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
19 months agoRelease version 0.25.0 02/289302/1
Hwankyu Jhun [Mon, 6 Mar 2023 05:57:14 +0000 (05:57 +0000)]
Release version 0.25.0

Changes:
 - Add a new option to the loader configuration

Change-Id: I9df5bff98dc9a8c49c9e1226581070ee80e7b90f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
19 months agoAdd a new option to the loader configuration 94/289294/3
Hwankyu Jhun [Mon, 6 Mar 2023 04:01:23 +0000 (04:01 +0000)]
Add a new option to the loader configuration

The "CONDITION_PATH_EXISTS" option is added to the loader configuration.
The option is for the "ON_BOOT_TIMEOUT" option. If the path does not exist,
the launchpad does not prepare the candidate process. And, the launchpad
adds a timer to wait until the path exists. The interval of the timer is 100 ms.

Change-Id: I626b25ef8448079bd7fba90f76e7815a2934574b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
19 months agoRelease version 0.24.3 90/289290/1
Hwankyu Jhun [Mon, 6 Mar 2023 01:13:15 +0000 (01:13 +0000)]
Release version 0.24.3

Changes:
 - Remove build warning messages
 - Delete unused files after process shutdown

Change-Id: Ic1d2e4fd755130f98597cde93354584518b33c23
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
19 months agoDelete unused files after process shutdown 32/289232/4
Hwankyu Jhun [Fri, 3 Mar 2023 04:49:55 +0000 (04:49 +0000)]
Delete unused files after process shutdown

After the process is terminated, the launchpad deletes unnecessary files.
To debug & profile dotnet applications, the coreclr creates "clr-debug-pipe-"
and "dotnet-diagnostic-" files. The launchpad deletes the files if the files
exists. To avoid blocking the main thread of the launchpad, this patch
creates a new worker thread that is "RecycleBin+".

Change-Id: I68e02359ed2ec79801b46da2f45ef54b5c35f4b9
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
20 months agoRemove build warning messages 37/289237/2
Hwankyu Jhun [Fri, 3 Mar 2023 05:35:22 +0000 (05:35 +0000)]
Remove build warning messages

This patch fixes build warnings.

Change-Id: If38a108c401b91bc429dd2b5e59efd494c88ec1f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
20 months agoRelease version 0.24.2 16/289216/1
Hwankyu Jhun [Fri, 3 Mar 2023 00:00:36 +0000 (00:00 +0000)]
Release version 0.24.2

Changes:
 - Fix wrong initialization

Change-Id: I4a33cefab8c9ededaa69459aa1b004f26152f8d2
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
20 months agoFix wrong initialization 11/289211/1
Hwankyu Jhun [Thu, 2 Mar 2023 23:34:02 +0000 (23:34 +0000)]
Fix wrong initialization

The memory monitor initialization should be called before adding default slots.
If the threshold is greater than 100, the memory monitor should be disabled.

Change-Id: I64ce56d5d73c3a61bccec425827567ad37c2c640
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
20 months agoRelease version 0.24.1 96/288996/1 accepted/tizen/unified/20230228.052745
jh9216.park [Mon, 27 Feb 2023 07:53:38 +0000 (02:53 -0500)]
Release version 0.24.1

Changes:
 - Fix lib dir
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
Change-Id: I47ebc7a50bb2b6454e24316b2bfe7d409da723de

20 months agoFix lib dir 77/288977/1
jh9216.park [Mon, 27 Feb 2023 06:14:05 +0000 (01:14 -0500)]
Fix lib dir

Change-Id: I8c44ae1304579b250937d5568ae751b36e9854b2
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
20 months agoRelease version 0.24.0 88/288388/1 accepted/tizen/unified/20230220.174442
Changgyu Choi [Thu, 16 Feb 2023 05:20:16 +0000 (14:20 +0900)]
Release version 0.24.0

Changes:
 - Refactor launchpad to c++
 - Add unittest
 - Modify launchpad-process-pool directory structure
 - Fix library path for aarch64
 - Rename sample loader lib path args to /test

Change-Id: I846cd507e348b330bea0ae5d3eb44d2cfc231f49
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
20 months agoRename sample loader lib path args to /test 85/288385/3
Changgyu Choi [Thu, 16 Feb 2023 05:04:33 +0000 (14:04 +0900)]
Rename sample loader lib path args to /test

Change-Id: I8aa04dccb3d66aadccd31f6571fbab1ad048736e
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
20 months agoFix library path for aarch64
Changgyu Choi [Thu, 16 Feb 2023 05:04:33 +0000 (14:04 +0900)]
Fix library path for aarch64

Change-Id: I8aa04dccb3d66aadccd31f6571fbab1ad048736e
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
20 months agoModify launchpad-process-pool directory structure 64/288164/3
Changgyu Choi [Mon, 13 Feb 2023 02:11:24 +0000 (11:11 +0900)]
Modify launchpad-process-pool directory structure

launchpad-process-pool directory structure is modified as follow.

launchpad-process-pool
 | *.cc
 | *.hh

Change-Id: I30c244da4b5fe20db85ea7ad00209cb5bd8cc84c
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
20 months agoAdd unittest 89/287889/7
Changgyu Choi [Tue, 7 Feb 2023 09:37:48 +0000 (18:37 +0900)]
Add unittest

Unittest adds:
 - DebuggerInfo
 - LauncherInfo
 - LoaderInfo

Change-Id: If2a8bf0ea367eb071713d951ba6117f83a5765bd
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
20 months agoRefactor launchpad to c++ 03/287603/4
Changgyu Choi [Wed, 1 Feb 2023 07:05:39 +0000 (16:05 +0900)]
Refactor launchpad to c++

We will refactor launchpad to c++ step by step.

Changes:
 - debugger_info
 - launcher_info
 - loader_info

Change-Id: I973d98b0669c4b752ba6cf7203f83e8c83085dc0
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
20 months agoRelease version 0.23.2 80/287680/1
Hwankyu Jhun [Thu, 2 Feb 2023 07:37:25 +0000 (07:37 +0000)]
Release version 0.23.2

Changes:
 - Fix wrong condition of maximum count of cpu checker

Change-Id: Ia8b71a94e2917161c235dee5f9a84c134fe5dcf2
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
20 months agoFix wrong condition of maximum count of cpu checker 79/287679/1
Hwankyu Jhun [Thu, 2 Feb 2023 07:30:39 +0000 (07:30 +0000)]
Fix wrong condition of maximum count of cpu checker

The return value should be compared with the INT_MIN.

Change-Id: I83cca8e386abafaecf925c035e239dba28189347
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
20 months agoRelease version 0.23.1 70/287570/1 accepted/tizen/unified/20230206.093743 accepted/tizen/unified/20230206.093902
Hwankyu Jhun [Tue, 31 Jan 2023 22:54:52 +0000 (22:54 +0000)]
Release version 0.23.1

Changes:
 - Modify loader priority feature

Change-Id: I62b68f788ebd326857aef54ff7c013724c368028
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoModify loader priority feature 42/287542/2
Hwankyu Jhun [Tue, 31 Jan 2023 06:35:46 +0000 (06:35 +0000)]
Modify loader priority feature

After this patch is applied, the loader priority feature is basically activated.
The platform developer can adjust a scheduling priority using
the loader configuration file.
The 'SCEHD_PRIORITY' tag is added for the loader process.
The loader developer can set the scheduling priority as below:
+------------------------------------------------------------------------------+
| [LOADER]                                                                     |
| NAME hw-loader                                                               |
| ...                                                                          |
| SCEHD_PRIORITY         -20                                                   |
+------------------------------------------------------------------------------+

The range of the priority is -20 to 19. (-20 being the highest priority
and 19 being the lowest priority.)
If the loader has the sched priority tag, the child process sets
the scheduling priority using the configure information after the process
is created. And then, the loader process sets the priority to the normal
priority before running the main loop.

Change-Id: I531cc8381936ef4f6c9b8bad1640a0a8714f2777
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoRelease version 0.23.0 30/287430/1
Hwankyu Jhun [Mon, 30 Jan 2023 01:33:22 +0000 (01:33 +0000)]
Release version 0.23.0

Changes:
 - Add new APIs for loader process

Change-Id: I8bc1e832f5e1e53a720638eef47111fbad7e06d5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoAdd new APIs for loader process 34/287034/2
Hwankyu Jhun [Thu, 19 Jan 2023 01:47:28 +0000 (01:47 +0000)]
Add new APIs for loader process

Before calling the loader_launch_cb() callback function, the loader process
has to make blocking all sub threads if a new thread is able to be created by
the sub thread. This patch adds new functions for the loader process.
Some loader process creates a new process while calling the security_manager_prepare_app2().
It makes an application launch failure issue.

When calling the loader_prelaunch_cb() callback function, the loader should call
the launchpad_loader_block_threads() to make blocking all sub threads.
And then, the loader calls the launchpad_loader_unblock_threads() while calling
the launchpad_launch_cb() callback function.

Even if the sub thread creates a new thread while calling the launchpad_loader_block_threads(),
it handles by the security_manager_prepare_app2() function.
This is not complete solution. But, this patch is able to reduce the risk about
the launch failure issues.

Adds:
 - launchpad_loader_block_threads()
 - launchpad_loader_unblock_threads()

Change-Id: Ib98d435507abbb0d3ebe0a5617d7fcb2509c154e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoRelease version 0.22.2 16/286916/1 accepted/tizen/unified/20230118.043049
Hwankyu Jhun [Tue, 17 Jan 2023 00:25:59 +0000 (00:25 +0000)]
Release version 0.22.2

Changes:
 - Add retrying count check for waiting threads

Change-Id: Ifb70ace83d91cf386993b37ccca4c97c69182d50
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoAdd retrying count check for waiting threads 13/286913/1
Hwankyu Jhun [Mon, 16 Jan 2023 23:27:29 +0000 (23:27 +0000)]
Add retrying count check for waiting threads

If the retyring count is exceeded, the candidate process stops to wait for
threads ready. The maximum retrying count is 600. In the worst case,
the candidate process can be waitted until 30 seconds.

Change-Id: I4c73674c9f783499af1087c3855f56205a52a6ad
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoRelease version 0.22.1 71/286871/1 accepted/tizen/unified/20230117.140508
Hwankyu Jhun [Mon, 16 Jan 2023 05:37:58 +0000 (05:37 +0000)]
Release version 0.22.1

Changes:
 - Print appid for debugging
 - Fix build error
 - Wait for threads ready

Change-Id: I0c31efefc993cf2f3916edd1606d9f6e86aea4a5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoWait for threads ready 59/286859/6
Hwankyu Jhun [Mon, 16 Jan 2023 01:00:42 +0000 (01:00 +0000)]
Wait for threads ready

Before calling the security_manager_prepare_app2() function, all threads
of the loader process MUST be ready. After this patch is applied,
the loader porcess waits until threads are ready if the key-value data
related to the thread exists in the extra data.

Change-Id: I871b1a53e602dadc50134fca5575a54d6fc1b249
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoFix build error 70/286870/1
Hwankyu Jhun [Mon, 16 Jan 2023 05:02:08 +0000 (05:02 +0000)]
Fix build error

If the priority change feature is enabled, the build error is occurred.
This patch fixes the build error. The TIZEN_FEATURE_PRIORITY_CHANGE feature
is not used in the loader process. It's removed from the app-defined-loader.

Change-Id: Ia6333c0195b5db3baaa7ce5aa6feb7cd7b08d23e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoPrint appid for debugging 30/286730/1
Hwankyu Jhun [Thu, 12 Jan 2023 06:47:20 +0000 (06:47 +0000)]
Print appid for debugging

To debug which the application is calling security_manager_prepare_app_v2(),
the launchpad prints the application ID.
This patch fixes the typo and removes build warning message.

Change-Id: I3c38ff369ab4cc01aac2c8fdfd3d1e74c3f490ee
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoRelease version 0.22.0 21/286521/1 accepted/tizen/unified/20230110.164133
Hwankyu Jhun [Mon, 9 Jan 2023 07:42:15 +0000 (07:42 +0000)]
Release version 0.22.0

Changes:
 - Add res pkgids to env

Change-Id: I272ee28057a015f8371de7358d6ce9fc51021bc3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoAdd res pkgids to env 73/284573/4
Sangyoon Jang [Mon, 21 Nov 2022 01:18:01 +0000 (10:18 +0900)]
Add res pkgids to env

Change-Id: I920242fa6eda3bf634f527f83b46b89c3bd0eef0
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
21 months agoRelease version 0.21.6 86/286286/1 accepted/tizen/7.0/unified/20230105.155141 accepted/tizen/unified/20230104.172225
Hwankyu Jhun [Tue, 3 Jan 2023 06:24:26 +0000 (06:24 +0000)]
Release version 0.21.6

Changes:
 - Create aul worker thread before running the main loop

Change-Id: Icea70fcc50d99488bfa3a7b42986abd2e031a58f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoCreate aul worker thread before running the main loop 71/286271/1
Hwankyu Jhun [Tue, 3 Jan 2023 04:44:28 +0000 (04:44 +0000)]
Create aul worker thread before running the main loop

To improve launching performance, the launchpad library calls
the aul_launch_worker_init() function to prepare the aul worker thread.

Requires:
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/aul-1/+/286270

Change-Id: I09da6090fafc4148cb6532307a69cfeb7b703f70
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
22 months agoRelease version 0.21.5 88/286088/1 accepted/tizen/unified/20221228.170003
Changgyu Choi [Tue, 27 Dec 2022 09:58:30 +0000 (18:58 +0900)]
Release version 0.21.5

Changes:
 - Fix static analysis issues

Change-Id: I892a5db902e63797fd9b3a960e058722a45b66b3
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
22 months agoFix static analysis issues 81/286081/1
Changgyu Choi [Tue, 27 Dec 2022 08:49:41 +0000 (17:49 +0900)]
Fix static analysis issues

Change-Id: If01054da536adbfe4afc5a6fece227b5ba252264
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
22 months agoRelease version 0.21.4 95/285895/1 accepted/tizen/7.0/unified/20221223.170221 accepted/tizen/unified/20221227.170634
Changgyu Choi [Thu, 22 Dec 2022 06:26:26 +0000 (15:26 +0900)]
Release version 0.21.4

Changes:
 - Fix library path for aarch64

Change-Id: I636804d10678b84d8355569e538f4a04a0ad663a
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
22 months agoFix library path for aarch64 83/285883/1
Changgyu Choi [Thu, 22 Dec 2022 05:49:18 +0000 (14:49 +0900)]
Fix library path for aarch64

Change-Id: I1c576aadef1c5a096823c251d9416af5314f5eeb
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
22 months agoRelease version 0.21.3 37/285437/1 accepted/tizen/7.0/unified/20221216.024731
Hwankyu Jhun [Tue, 13 Dec 2022 00:58:49 +0000 (00:58 +0000)]
Release version 0.21.3

Changes:
 - Remove forker thread

Change-Id: I125713cf0ee0e4e2f2e2d635fa861b5df832ee9a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
22 months agoRemove forker thread 35/285435/1
Hwankyu Jhun [Mon, 12 Dec 2022 23:39:34 +0000 (23:39 +0000)]
Remove forker thread

If the main thread is calling the malloc() when the forker thread calls
the fork(), the child process will be always blocked if it calls the malloc().
This issue is similar to the previous commit that is
'0fbcdd1969571c72cc97a2a24dd76a76c42a18e3'.

Change-Id: Iec8f8083c79d5f8a3b08aa49be7bb8d972fbb5a7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
23 months agoRelease version 0.21.2 34/284634/1 accepted/tizen/7.0/unified/20221123.170844 accepted/tizen/unified/20221124.015422
Changgyu Choi [Tue, 22 Nov 2022 06:42:28 +0000 (15:42 +0900)]
Release version 0.21.2

Changes:
 - Fix static analysis issues

Change-Id: I94fc406a20e88da798d35f8561ccfd091252c72d
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
23 months agoFix static analysis issues 82/284582/4
Changgyu Choi [Mon, 21 Nov 2022 08:14:52 +0000 (17:14 +0900)]
Fix static analysis issues

Change-Id: I28acaeb2507b199fcbf1ac56c51120a0468c11b1
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
23 months agoRelease version 0.21.1 00/284500/1
Hwankyu Jhun [Fri, 18 Nov 2022 06:18:26 +0000 (06:18 +0000)]
Release version 0.21.1

Changes:
 - Do not check candidate process state

Change-Id: I31279689af35625c4f0df1c37dc335c32cb62fa5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
23 months agoDo not check candidate process state 95/284495/1
Hwankyu Jhun [Fri, 18 Nov 2022 05:45:11 +0000 (05:45 +0000)]
Do not check candidate process state

When starting launchpad, getting the vconf value can be failed.
Even if getting the vconf value is failed, the loader process should be
executed that has a onboot timeout feature in the configuration file.

Change-Id: Ie6d22f18aa711a325b445102bff16914f6ed4727
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
23 months agoRelease version 0.21.0 90/284490/1 accepted/tizen/7.0/unified/20221123.015514 accepted/tizen/unified/20221123.015012
Hwankyu Jhun [Fri, 18 Nov 2022 02:19:52 +0000 (02:19 +0000)]
Release version 0.21.0

Changes:
 - Make enumeration for commands
 - Modify slot addition function
 - Support timeout feature related on boot

Change-Id: I7d588a3ef2c0d3360d6f158d9938749e6eb78768
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
23 months agoSupport timeout feature related on boot 89/284489/4
Hwankyu Jhun [Fri, 18 Nov 2022 00:26:46 +0000 (00:26 +0000)]
Support timeout feature related on boot

To exeucte the loader process forcedly, the feature is supported.
"ON_BOOT_TIMEOUT" tag is added for parsing on boot timeout value.
Even if the CPU threshold is not exceeded, the loader process will be
executed by the timer.

Change-Id: I6a588d28ed1c81685f5718b9c03a680d6d0631d3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
23 months agoModify slot addition function 88/284488/3
Hwankyu Jhun [Thu, 17 Nov 2022 23:51:04 +0000 (23:51 +0000)]
Modify slot addition function

To reduce the number of parameters of the __add_slot() function,
the slot_info_t is added.

Change-Id: I487e1eb1172ff667531c7ad2e9c6a1ff3fdf3296
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
23 months agoMake enumeration for commands 87/284487/1
Hwankyu Jhun [Thu, 17 Nov 2022 22:49:05 +0000 (22:49 +0000)]
Make enumeration for commands

This patch defines enumeration for launchpad commands.

Change-Id: Iee03d39889d7f1b0d2a051d97167f4045f1d23c8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
23 months agoRelease version 0.20.1 80/284280/1 accepted/tizen/7.0/unified/20221116.014838 accepted/tizen/unified/20221115.172902
Hwankyu Jhun [Tue, 15 Nov 2022 02:37:57 +0000 (02:37 +0000)]
Release version 0.20.1

Changes:
 - Move calling fork() to main thread

Change-Id: If303c4ccb6c820206133bf0fe0be931eca7c9d6e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
23 months agoMove calling fork() to main thread 73/284273/1
Hwankyu Jhun [Tue, 15 Nov 2022 00:06:39 +0000 (00:06 +0000)]
Move calling fork() to main thread

After the previous patchset is applied, dyntranstion feature is not working fine
as below:
+------------------------------------------------------------------------------+
| security_manager_sync_threads_internal(671) > Not all threads synchronized:  |
|     threads left: 15                                                         |
| operator()(1013) > Can't properly setup application threads (Smack label &   |
|     capabilities) for application                                            |
+------------------------------------------------------------------------------+
To avoid the issue, creating a child process for a candidate process is moved to
the main thread.

Change-Id: If58914fb04b8b07782f624ffcc1b9342ad1a7b4a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
23 months agoRelease version 0.20.0 35/284235/1
Hwankyu Jhun [Mon, 14 Nov 2022 05:40:02 +0000 (05:40 +0000)]
Release version 0.20.0

Changes:
 - Create a child process in the worker thread

Change-Id: I411e8cc77ff26bb7f733c0d0c974312eb2acba57
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
23 months agoCreate a child process in the worker thread 63/283963/5
Hwankyu Jhun [Tue, 8 Nov 2022 01:48:16 +0000 (01:48 +0000)]
Create a child process in the worker thread

To avoid blocking main thread of launchpad-process-pool, the worker thread
creates a child process.

Change-Id: I6cd499a6d6a5fc3d0d2d81f2256e299f4067eb68
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.19.3 28/283128/1 accepted/tizen/unified/20221104.082311
Hwankyu Jhun [Tue, 18 Oct 2022 10:36:39 +0000 (10:36 +0000)]
Release version 0.19.3

Changes:
 - Add an environmant variable related to ASAN

Change-Id: Ib84a6127f8d2a0a041a07cb7b371a2a36f3b844b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdd an environmant variable related to ASAN 23/283123/1
Hwankyu Jhun [Tue, 18 Oct 2022 09:22:59 +0000 (09:22 +0000)]
Add an environmant variable related to ASAN

While getting a launch request for ASAN debugging, the launchpad adds
'TIZEN_ASAN_ACTIVATION' environment variable for activating ASAN.

Related:
 - https://review.tizen.org/gerrit/#/c/platform/upstream/gcc/+/283119/

Change-Id: I5d6fdf47d872de4f7985e074ada550368ebaced3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.19.2 86/283086/1
Changgyu Choi [Tue, 18 Oct 2022 02:26:24 +0000 (11:26 +0900)]
Release version 0.19.2

Changes:
 - Fix static analysis issues

Change-Id: I5fd2f82cf99c3ab8360780f98db913f81496f378
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoFix static analysis issues 29/283029/1
Changgyu Choi [Mon, 17 Oct 2022 03:12:25 +0000 (12:12 +0900)]
Fix static analysis issues

Change-Id: I6ef67f0f1b6423756955a94370fbcee51b1d81ee
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.19.1 62/281462/1 accepted/tizen_7.0_unified_hotfix tizen_7.0_hotfix accepted/tizen/7.0/unified/20221110.061016 accepted/tizen/7.0/unified/hotfix/20221116.105017 accepted/tizen/unified/20220920.050145 tizen_7.0_m2_release
Hwankyu Jhun [Mon, 19 Sep 2022 07:57:12 +0000 (07:57 +0000)]
Release version 0.19.1

Changes:
 - Fix resource leak

Change-Id: Idc73789582823bab17303215ca0d10b31b59bc3b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix resource leak 59/281459/1
Hwankyu Jhun [Mon, 19 Sep 2022 07:45:29 +0000 (07:45 +0000)]
Fix resource leak

The allocated memory has to be released. The xmlGetProp() returns the
allocated value. It should be released using xmlFree().

Change-Id: I031d76c587ad8dcab9141c585d732893d916eea9
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.19.0 76/279276/2 accepted/tizen/unified/20220805.131913 submit/tizen/20220804.142848 submit/tizen/20220805.012935
Changgyu Choi [Fri, 5 Aug 2022 01:27:17 +0000 (10:27 +0900)]
Release version 0.19.0

Changes:
 - Implement launch of light user application

Change-Id: I090af4f7c74ff05a8fee7d1ea82df059a8a42dc7
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoImplement launch of light user application 38/278338/10
Ilho Kim [Tue, 19 Jul 2022 06:43:17 +0000 (15:43 +0900)]
Implement launch of light user application

Change-Id: I9ab41fe9e0dca4e2b40051a741182067a20f99f9
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
2 years agoRelease version 0.18.14 89/278689/1 accepted/tizen/unified/20220726.012248 submit/tizen/20220725.062229
Hwankyu Jhun [Mon, 25 Jul 2022 06:17:42 +0000 (15:17 +0900)]
Release version 0.18.14

Changes:
 - Send and receive candidate process ID

Change-Id: I619a48d0f237aebf3f2a3511c533ffb9fcd95919
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoSend and receive candidate process ID 83/278683/3
Hwankyu Jhun [Mon, 25 Jul 2022 05:36:00 +0000 (14:36 +0900)]
Send and receive candidate process ID

The hydra loader sends a launched candidate process ID to
launchpad-process-pool. When disposing the candidate process,
launchpad-process-pool checks whether the candidate process is running
or not to send SIGKILL signal. In the provious implementation, there is
a problem that the candidate process was not terminated while it's
executing.

Change-Id: I88fe989f80007d9c5b6f4bb381c5ad2d863be4e8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.18.13 67/278667/1 submit/tizen/20220725.024329
Changgyu Choi [Mon, 25 Jul 2022 02:41:06 +0000 (11:41 +0900)]
Release version 0.18.13

Changes:
 - Revert "Add cpu priority inheritance"

Change-Id: I70f6b48c13e553bba15b980cff572b5e46fc98b2
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRevert "Add cpu priority inheritance" 58/278658/2
Changgyu Choi [Mon, 25 Jul 2022 01:45:27 +0000 (10:45 +0900)]
Revert "Add cpu priority inheritance"

This reverts commit b67f9e7e9a31a6b2ff4f2867d2c63edd9fda7209.

Change-Id: I80317085c0a8b60ce463ab855313716f27d8709f
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.18.12 57/277857/1 submit/tizen/20220714.070033 submit/tizen/20220724.222434
Hwankyu Jhun [Thu, 14 Jul 2022 06:40:18 +0000 (15:40 +0900)]
Release version 0.18.12

Changes:
 - Add a new environemtn variable

Change-Id: I83a4a7a3b151bea2910f59c69f184637b1219c84
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdd a new environemtn variable 33/277833/1
Hwankyu Jhun [Thu, 14 Jul 2022 04:23:49 +0000 (13:23 +0900)]
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 <h.jhun@samsung.com>
2 years agoRelease version 0.18.11 93/277293/1 accepted/tizen/unified/20220705.220829 submit/tizen/20220705.003005 submit/tizen/20220705.003032
Hwankyu Jhun [Mon, 4 Jul 2022 23:44:32 +0000 (08:44 +0900)]
Release version 0.18.11

Changes:
 - Apply type converstions

Change-Id: I46ea4236057c4f137a7323ecdbc7c21121151300
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoApply type converstions 82/277282/2
Hwankyu Jhun [Mon, 4 Jul 2022 10:10:30 +0000 (19:10 +0900)]
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 <h.jhun@samsung.com>
2 years agoRelease version 0.18.10 28/277128/1 accepted/tizen/unified/20220703.214202 submit/tizen/20220701.041209
Changgyu Choi [Fri, 1 Jul 2022 04:10:36 +0000 (13:10 +0900)]
Release version 0.18.10

Changes:
 - Add cpu priority inheritance

Change-Id: Ie3ad6cfa3bd10cb1051bea4d9d9e319aca4fb004
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoAdd cpu priority inheritance 22/277022/8
Changgyu Choi [Wed, 29 Jun 2022 07:26:30 +0000 (16:26 +0900)]
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 <changyu.choi@samsung.com>
2 years agoRelease version 0.18.9 67/273867/1 accepted/tizen/unified/20220418.141249 submit/tizen/20220415.005359
Hwankyu Jhun [Fri, 15 Apr 2022 00:47:03 +0000 (09:47 +0900)]
Release version 0.18.9

Changes:
 - [UI Thread] Set a new environment variable

Change-Id: I9307d945ac92ac23dcb10438a1002a42d098b591
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years ago[UI Thread] Set a new environment variable 65/273865/2
Hwankyu Jhun [Thu, 14 Apr 2022 23:20:36 +0000 (08:20 +0900)]
[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 <h.jhun@samsung.com>
2 years agoRelease version 0.18.8 17/272617/1 accepted/tizen_6.5_unified accepted/tizen/6.5/unified/20220323.134138 accepted/tizen/unified/20220322.134043 submit/tizen/20220322.015346 submit/tizen_6.5/20220322.025122
Hwankyu Jhun [Tue, 22 Mar 2022 00:15:39 +0000 (09:15 +0900)]
Release version 0.18.8

Changes:
 - Remove executable file check

Change-Id: I8f333a398b043479d993285a262ca9c0776ad929
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRemove executable file check 16/272616/1
Hwankyu Jhun [Mon, 21 Mar 2022 22:55:04 +0000 (07:55 +0900)]
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 <h.jhun@samsung.com>
2 years agoRelease version 0.18.7 15/272515/1 accepted/tizen/unified/20220322.082753 submit/tizen/20220321.003517
Changgyu Choi [Fri, 18 Mar 2022 06:39:22 +0000 (15:39 +0900)]
Release version 0.18.7

Changes:
 - Add logs for debugging

Change-Id: I35a39180bd86fe4c1c324bf5258d5411e6b9fa06
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoAdd logs for debugging 90/272490/11
Changgyu Choi [Fri, 18 Mar 2022 00:50:48 +0000 (09:50 +0900)]
Add logs for debugging

Change-Id: Ie8e96eea8d08aa6b4024045c4c60caaa3f353093
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.18.6 31/271631/1 accepted/tizen/6.5/unified/20220225.151944 accepted/tizen/unified/20220225.151911 submit/tizen/20220224.010450 submit/tizen_6.5/20220224.010325
Changgyu Choi [Thu, 24 Feb 2022 00:56:54 +0000 (09:56 +0900)]
Release version 0.18.6

Changes:
 - Fix static analysis issue

Change-Id: I51bccb92f6af801441171d771217b30b605eae81
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoFix static analysis issue 30/271630/2
Changgyu Choi [Thu, 24 Feb 2022 00:43:09 +0000 (09:43 +0900)]
Fix static analysis issue

Changes:
 - Adds checking that the variable is nullptr.

Change-Id: I632547066e972cf99d7f2c99b2464b39029e7b24
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
2 years agoRelease version 0.18.5 21/270521/1 accepted/tizen/6.5/unified/20220207.045122 accepted/tizen/unified/20220206.211920 submit/tizen/20220204.053219 submit/tizen_6.5/20220204.053240
Hwankyu Jhun [Fri, 4 Feb 2022 05:31:35 +0000 (14:31 +0900)]
Release version 0.18.5

Changes:
 - Change mount namespace

Change-Id: Icc5ef1d3cb40c612436b5e6ef08ee629b37f755d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoChange mount namespace 20/270520/2
Hwankyu Jhun [Fri, 4 Feb 2022 04:56:38 +0000 (13:56 +0900)]
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 <h.jhun@samsung.com>
2 years agoRelease version 0.18.4 63/266863/1 accepted/tizen/6.5/unified/20211123.213508 accepted/tizen/unified/20211123.015942 submit/tizen/20211122.001731 submit/tizen_6.5/20211122.001803
Hwankyu Jhun [Mon, 22 Nov 2021 00:10:56 +0000 (09:10 +0900)]
Release version 0.18.4

Changes:
 - Revert "Fix id file creation"
 - Handle a new command

Change-Id: Ide571a8478c4f272642ff83b7882814b516ef413
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoHandle a new command 20/266820/1
Hwankyu Jhun [Fri, 19 Nov 2021 04:09:28 +0000 (13:09 +0900)]
Handle a new command

To monitor the state of the launchpad, AMD will connect to the launchpad
and maintain the connection.

Change-Id: Ib8a9eaf30b4beaa1e40a0c46a7752c4b5e4ea86f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRevert "Fix id file creation" 07/266407/1
Hwankyu Jhun [Thu, 11 Nov 2021 14:54:47 +0000 (23:54 +0900)]
Revert "Fix id file creation"

This reverts commit a8f63eec9bca4a3a58699294b4c6216d5240c1d0.

Change-Id: I27d0dc189801f6665d08ac49b70c532d90d822c6

2 years agoRelease version 0.18.3 76/266376/1 submit/tizen/20211111.065648 submit/tizen_6.5/20211111.065740
Hwankyu Jhun [Thu, 11 Nov 2021 06:55:26 +0000 (15:55 +0900)]
Release version 0.18.3

Changes:
 - Fix id file creation

Change-Id: I0b553892f17f4db6ba5006c4ffcc67774b8df075
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix id file creation 59/266359/3
Hwankyu Jhun [Thu, 11 Nov 2021 03:49:01 +0000 (12:49 +0900)]
Fix id file creation

The child process writes zero to the id file. When calling the aul_initialize(),
the process will write one to the id file.
This is to check the socket status of the running application.

Requires:
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/launchpad/+/266359/
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/aul-1/+/266360/
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/amd/+/266361/

Change-Id: I0abe08650b60d4e97f039ffaa16a20c299054110
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoRelease version 0.18.2 76/265976/1 accepted/tizen/6.5/unified/20211109.041705 accepted/tizen/unified/20211104.123539 accepted/tizen/unified/20211109.042849 submit/tizen/20211103.040120 submit/tizen/20211104.074108 submit/tizen/20211104.225435 submit/tizen/20211105.011855 submit/tizen/20211107.232151 submit/tizen/20211107.232243 submit/tizen_6.5/20211105.053806
Hwankyu Jhun [Wed, 3 Nov 2021 03:58:54 +0000 (12:58 +0900)]
Release version 0.18.2

Changes:
 - Adjust sending startup signal

Change-Id: I19da8d0663214b98cdc7163a0e40ae71e50c8044
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoAdjust sending startup signal 25/265825/4
Hwankyu Jhun [Fri, 29 Oct 2021 07:56:39 +0000 (16:56 +0900)]
Adjust sending startup signal

After creating the app socket, the startup signal will be sent.

Requires:
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/aul-1/+/265335/
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/amd/+/265818/
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/launchpad/+/265825/

Change-Id: Ib06bdf45b51b44bc9225b40333bb0b30968951b4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
3 years agoRelease version 0.18.1 20/265820/1 accepted/tizen/unified/20211101.140228 submit/tizen/20211029.070425 submit/tizen/20211101.102058
Hwankyu Jhun [Fri, 29 Oct 2021 07:02:00 +0000 (16:02 +0900)]
Release version 0.18.1

Changes:
 - Set child subreaper attribute

Change-Id: I04a882e3f3d4a9c3611bf3035be10f6e3316d351
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
3 years agoSet child subreaper attribute 15/265815/2
Hwankyu Jhun [Fri, 29 Oct 2021 06:09:19 +0000 (15:09 +0900)]
Set child subreaper attribute

When the hydra loader is terminated, the parent process ID of the
application that is launched using the loader process is created by
the hydra loader is changed to the launchpad-process-pool.
Currently, the hydra loader is terminated, the application is always running
as zombie process. After this patch is applied, even though the hydra load
is terminated, the launchpad-process-pool gets the SIGCHLD signal when
the application is terminated.

Change-Id: I5d1d05e25c6a0803e925c857106367cc74382631
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
3 years agoRelease version 0.18.0 45/265645/2 submit/tizen/20211028.054000
Changgyu Choi [Tue, 26 Oct 2021 04:20:03 +0000 (13:20 +0900)]
Release version 0.18.0

Changes:
 - Add prelaunch callback

Change-Id: I324c850ef186a5c96c7e5115816c62fd6e79eb7c
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
3 years agoAdd prelaunch callback 10/265610/4
Changgyu Choi [Mon, 25 Oct 2021 06:55:09 +0000 (15:55 +0900)]
Add prelaunch callback

prelaunch callback is called to before being called security_manager_prepare_app()

Change-Id: Ib658ed698966dd4a7cd063bf3316e6f37dacca18
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
3 years agoRelease version 0.17.10 36/263636/1 accepted/tizen/6.5/unified/20211028.095844 accepted/tizen/unified/20210909.002342 submit/tizen/20210907.220606 submit/tizen/20210907.220620 submit/tizen_6.5/20211028.162101 tizen_6.5.m2_release
Hwankyu Jhun [Tue, 7 Sep 2021 07:50:44 +0000 (16:50 +0900)]
Release version 0.17.10

Changes:
 - Fix executable file check

Change-Id: Id916b6d13de37f3ec054706aa9fa49bcf29a9fa1
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
3 years agoFix executable file check 36/263536/1
Hwankyu Jhun [Mon, 6 Sep 2021 05:46:47 +0000 (14:46 +0900)]
Fix executable file check

Before checking the executable file, the launchpad-process-pool checks
whether the type of the application is "capp" or "c++app".
Other applications are executec using the launcher. (e.g. wrt)

Change-Id: Ib6a1931dd43d838524e4b907ac4965846fa3c991
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
3 years agoRelease version 0.17.9 81/262481/1 accepted/tizen/unified/20210813.005936 submit/tizen/20210811.235113 submit/tizen/20210812.075926
Hwankyu Jhun [Wed, 11 Aug 2021 23:46:24 +0000 (08:46 +0900)]
Release version 0.17.9

Changes:
 - Fix memory monitor function

Change-Id: I2d54c93369ea098d86826db1725d0129000fc5e3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
3 years agoFix memory monitor function 80/262480/1
Hwankyu Jhun [Wed, 11 Aug 2021 22:53:17 +0000 (07:53 +0900)]
Fix memory monitor function

If the threshold is 100, the memory_monitor_is_low_memory() function
always returns false. The value of the threshold that is 100 means the
feature is disabled.

Change-Id: I5c72297ca11dfa3d70c39c412a5bee1bc3f76790
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
3 years agoRelease version 0.17.8 34/262234/1 accepted/tizen/unified/20210806.122131 submit/tizen/20210805.003142
Hwankyu Jhun [Thu, 5 Aug 2021 00:22:34 +0000 (09:22 +0900)]
Release version 0.17.8

Changes:
 - Check threshold in memory monitor

Change-Id: I3d4857b328cdf2feb47ca8cacfb6b3b655210e61
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
3 years agoCheck threshold in memory monitor 33/262233/1
Hwankyu Jhun [Wed, 4 Aug 2021 23:42:24 +0000 (08:42 +0900)]
Check threshold in memory monitor

If the threshold is equal to 100, the launchpad-process-pool doesn't
start monitoring the system memory.

Change-Id: If8b3224fabfbf3e871a73287fddd1be41880a4d7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
3 years agoRelease version 0.17.7 78/261878/1 accepted/tizen/unified/20210729.122647 submit/tizen/20210728.064032 submit/tizen/20210728.220216
Hwankyu Jhun [Wed, 28 Jul 2021 06:31:12 +0000 (15:31 +0900)]
Release version 0.17.7

Changes:
 - Print error logs

Change-Id: Ib67d9d294f39666aa2cdd0defc2229c86c91b491
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>