Hwankyu Jhun [Thu, 17 Aug 2023 04:25:11 +0000 (13:25 +0900)]
Release version 0.36.5
Changes:
- Create ready files of loader process
- Create ready file for all loaders
- Revert "Create ready files of loader process"
Change-Id: I142352c805c36c4a5bf212c3c8f5a80f0ef3bcbd
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 17 Aug 2023 03:57:54 +0000 (12:57 +0900)]
Revert "Create ready files of loader process"
This reverts commit
78f5909518b8e89f5a45e68d0e482352ac503289.
Change-Id: I54e852a6f3f54f2b2c207bd6ad763d60c00d48d3
Hwankyu Jhun [Thu, 17 Aug 2023 03:56:53 +0000 (12:56 +0900)]
Create ready file for all loaders
When the loader process is connecting to the launchpad-process-pool,
the launchpad-process-pool creates a ready file to notify that the loader
is ready.
Change-Id: Iff44684329682d56782c1b3ffeb9cff1e9425d1e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 7 Aug 2023 00:16:41 +0000 (09:16 +0900)]
Create ready files of loader process
A new function is added to create a ready file of the loader.
The function creates the file that the path is
"/run/user/<uid>/.<loader_name>.ready".
Change-Id: Id2c6181793650c55b866deddbf2c68ff3b43f1d6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 17 Aug 2023 01:30:31 +0000 (10:30 +0900)]
Release version 0.36.4
Changes:
- Modify CPUBoostingController
Change-Id: I744cdf875f803142a9bfb9115625008fa3deed53
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 16 Aug 2023 04:58:14 +0000 (13:58 +0900)]
Modify CPUBoostingController
This patch removes the RESET_ON_FORK flag. If the flag is set,
the scheduling policy is not inherited to the sub thread.
Change-Id: I8f63106271907749bdabff033881aab619f2e892
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 11 Aug 2023 08:09:57 +0000 (17:09 +0900)]
Release version 0.36.3
Changes:
- Add a missing exception handling
- Close all fds while creating process pool
Change-Id: I7af928c124425d35a6e99e8a584c58118f8335ef
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 11 Aug 2023 06:26:58 +0000 (15:26 +0900)]
Close all fds while creating process pool
After calling fork(), the child process should close all unused file
descriptors.
Change-Id: I5c0e714dff3bff182fdafbeb1153da5b4e38d0b7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 11 Aug 2023 03:31:50 +0000 (12:31 +0900)]
Add a missing exception handling
The Vconf::Get<T> can throw an exception. This patch adds an exception
handling to prevent a crash issue.
Change-Id: I96943d2e02b898bf07881d6327f303a923d4a2f7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Tue, 1 Aug 2023 04:46:02 +0000 (13:46 +0900)]
Release version 0.36.2
Changes:
- Change multiple instance appid key
Change-Id: I1fbc64259cd2b8db342d6c1b75be011709d7eb2c
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Tue, 1 Aug 2023 03:15:33 +0000 (12:15 +0900)]
Change multiple instance appid key
Change-Id: I6586c84e52ee060dc64283eac23eefe96f2604e5
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Fri, 28 Jul 2023 04:33:59 +0000 (13:33 +0900)]
Release version 0.36.1
Changes:
- Fix static analysis issues
Change-Id: I77826afded881cf7c7f5dde783905f1525fd2a0f
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Fri, 28 Jul 2023 01:54:38 +0000 (10:54 +0900)]
Fix static analysis issues
Changes:
- Changes method to stoull.
Change-Id: I802be7a7e343b219f1cded40ec9560c2886ee129
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Thu, 27 Jul 2023 02:13:12 +0000 (11:13 +0900)]
Release version 0.36.0
Changes:
- Handle loader termination request
Change-Id: I0a4d6fd7ee908bde5fc79e08604a0f0aa2718d82
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 26 Jul 2023 06:12:47 +0000 (15:12 +0900)]
Handle loader termination request
Some developers want to send the kill request to the running loader process.
This patch adds a new handler to handle the kill request.
Change-Id: Iad92282db51f60a8bb420739f406e1a426bb203e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 24 Jul 2023 07:20:20 +0000 (16:20 +0900)]
Release version 0.35.18
Changes:
- Modify SIGCHLD handler
Change-Id: I82d8c9b197885a893439b0232516d726b6f6986e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 24 Jul 2023 07:01:57 +0000 (16:01 +0900)]
Modify SIGCHLD handler
If SIGCHLD signal is received, launchpad checks whether the pending request
exists or not. If it exists, launchpad sends the launch signal to listeners.
Change-Id: Ie82b4df2b49ce02beb95a4b7547584b6a674d424
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Thu, 20 Jul 2023 05:43:51 +0000 (14:43 +0900)]
Release version 0.35.17
Changes:
- Modify setting AUL_APPID environment variable for multiple instance
Change-Id: Iff650377315bd6329901a415940178cd1f0dc8da
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Thu, 20 Jul 2023 05:09:24 +0000 (14:09 +0900)]
Modify setting AUL_APPID environment variable for multiple instance
When an app is launched as multiple instances, appid should include
instance id to distinguish them.
launchpad set AUL_APPID environment variable as original appid.
Change-Id: Ie0cae1d5d10d51024ea1bd25ca6299ea15e4fac8
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Tue, 18 Jul 2023 03:20:40 +0000 (12:20 +0900)]
Release version 0.35.16
Changes:
- Modify setting environment variable
Change-Id: I4545de274b595c8276ecc64dcd249f80628686ee
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 18 Jul 2023 02:19:33 +0000 (11:19 +0900)]
Modify setting environment variable
If TIZEN_GLIB_CONTEXT already exists, the launchpad library does not set it to
zero. Unfortunately, the launchpad library overwrites the environment variable
even if the process is the candidate process as like dotnet loader.
Change-Id: I3c1667627ac0955a422f96cc6b9264cbf05115ec
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Fri, 14 Jul 2023 08:23:16 +0000 (17:23 +0900)]
Release version 0.35.15
Changes:
- Change exit method
Change-Id: Ife08ea0d4ea4b94effb45be0bfdb14fd44880b54
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Fri, 14 Jul 2023 07:55:18 +0000 (16:55 +0900)]
Change exit method
When a app-defined-loader failed app launch, it is exited using exit().
But in some cases, the loader process becomes deadlocked due to sub thread resources.
This patch changes exit method to _exit().
Change-Id: Ibabf46e1ba58b596197ab71b479b6d2af02591b8
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Fri, 14 Jul 2023 01:16:52 +0000 (10:16 +0900)]
Release version 0.35.14
Changes:
- Modify log tags
Change-Id: I6924a6a9dd3c7e09849f584329772775b7d66252
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 14 Jul 2023 01:11:16 +0000 (10:11 +0900)]
Modify log tags
The log tags are changed to "LAUNCHPAD". And, this patch modifies the
log format that the name is added as like "[COMMON]".
Change-Id: I758b22118a3041fb2d4d82f1a7a2a977a2ab7594
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 12 Jul 2023 05:04:49 +0000 (14:04 +0900)]
Release version 0.35.13
Changes:
- Add printing log message for debugging
Change-Id: Iff963f428775223e59f98ae95746e3448a3b3813
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 12 Jul 2023 04:58:00 +0000 (13:58 +0900)]
Add printing log message for debugging
To debug the performance issue, this patch adds log print to the
Util::CloseAllFds().
Change-Id: Id6a1eb2439eb57c5a7123cf5cb448a704be154b0
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 10 Jul 2023 08:22:32 +0000 (17:22 +0900)]
Release version 0.35.12
Changes:
- Fix a bug about invoking the event listener
- Check arguments of loader
Change-Id: Id2c9241e136973e5a966c50124acc6f03fb62c00
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 10 Jul 2023 08:04:03 +0000 (17:04 +0900)]
Check arguments of loader
Before calling the loader_terminate_cb callback function, the launchpad library
checks whether the argument count is zero or not.
If it's true, the launchpad library does not call the callback function for
backward compatibility.
Change-Id: Ifeb9283701814efe6c1f1b69f4fbf129a3ce9b56
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 10 Jul 2023 06:49:27 +0000 (15:49 +0900)]
Fix a bug about invoking the event listener
Although the event listener of the signal manager is registered,
the signal manager did not call the event listener.
This patch fixes the problem.
Change-Id: I0d8920faab97bba8fd0cb565149418015228e3a2
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 3 Jul 2023 08:30:26 +0000 (08:30 +0000)]
Release version 0.35.11
Changes:
- Fixed the build error using gcc 13
Change-Id: I1812f0d6e3852a3881fe809e0ed38ba43ac2522b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
wchang kim [Mon, 3 Jul 2023 05:49:35 +0000 (14:49 +0900)]
Fixed the build error using gcc 13
Change-Id: I1ad7ed75373562f1666dc1b5a8625886d55c0b8e
Hwankyu Jhun [Mon, 3 Jul 2023 00:38:54 +0000 (00:38 +0000)]
Release version 0.35.10
Changes:
- Modify activation method
- Check LaunchMode before setting scheduling priority
Change-Id: Ie85ed56f6b55d2a137b9f9ecedd7ad6d66136908
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Sun, 2 Jul 2023 23:17:43 +0000 (23:17 +0000)]
Check LaunchMode before setting scheduling priority
Before setting the scheduling priority to the normal priority,
launchpad-process-pool should check whether the launch mode is
"Always_Loader_With_Low_Priority" or not.
Change-Id: I0b8d962f476b895384f37ea19deba020b25dad75
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Fri, 30 Jun 2023 03:45:03 +0000 (12:45 +0900)]
Modify activation method
Change-Id: I55897427b3ecc56de36c461cbcc2f6801def5b9f
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Fri, 30 Jun 2023 06:43:02 +0000 (06:43 +0000)]
Release version 0.35.9
Changes:
- Add an exception handling of the argument check
Change-Id: I02dc0aec97b770ab1cfd2b8d1785621e59f44194
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 29 Jun 2023 21:55:00 +0000 (21:55 +0000)]
Add an exception handling of the argument check
If the argc is 0, the launchpad loader should return an error immediately.
Change-Id: I1a96a62928248c6629c5d636f0959a34943fde97
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 27 Jun 2023 09:23:56 +0000 (09:23 +0000)]
Release version 0.35.8
Changes:
- Modify Unref() method of LoaderContext
Change-Id: Ie4692a0ef0b5a4fbd3d97b1e509eefdc357103d9
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 27 Jun 2023 09:08:55 +0000 (09:08 +0000)]
Modify Unref() method of LoaderContext
The ref count should not be decreased when the value is zero.
Change-Id: I88ac89ed6f6fa9af753324723a632779a09eb28b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 27 Jun 2023 00:08:50 +0000 (00:08 +0000)]
Release version 0.35.7
Changes:
- Fix crash issue of app-defined-loader
Change-Id: I1b2b0acd06011ae188517959ee60209c38b62943
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 26 Jun 2023 22:11:55 +0000 (22:11 +0000)]
Fix crash issue of app-defined-loader
The argument of Plugin::PrepareApp() should not be nullptr.
This patch modifies that the implementation of the Plugin::PrepareApp() allows
the empty string. If the argument is the empty string, the nullptr will be
passed to the plugin function.
Change-Id: I6bc62c496ab663965070af512b041928a98ec75e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 26 Jun 2023 06:31:43 +0000 (06:31 +0000)]
Release version 0.35.6
Changes:
- Add a new launch mode
Change-Id: I0918885124cb5dad524e807d71e636cd62eae8ad
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 26 Jun 2023 01:47:05 +0000 (01:47 +0000)]
Add a new launch mode
The "Always Loader With Low Priority" mode is added to the LaunchMode.
If it's set, an application will be executed using the loader process.
And, the loader process is executed with the low priority.
When getting the launch request, the launchpad-process-pool sets the high
priority to the process using the boosting API.
Change-Id: I46a6eef78c263c01f4a757717cbb069f4b8b28f5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 26 Jun 2023 04:47:40 +0000 (04:47 +0000)]
Release version 0.35.5
Changes:
- Revert "Add step that forces private connections in libsyscommon"
Change-Id: I7c162b0795fccafb794443ced903926ff90f8511
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 26 Jun 2023 04:46:25 +0000 (04:46 +0000)]
Revert "Add step that forces private connections in libsyscommon"
This reverts commit
563653568fd889ea2c12f786a34d18231c53901c.
Change-Id: Ib47f2747a6026337472a18aef61c8457a2747e0d
Hwankyu Jhun [Fri, 23 Jun 2023 02:17:31 +0000 (02:17 +0000)]
Release version 0.35.4
Changes:
- Add step that forces private connections in libsyscommon
Change-Id: I9703e0596a9af98f816e07b23bd17945d222a536
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Mateusz Moscicki [Fri, 16 Jun 2023 08:18:29 +0000 (10:18 +0200)]
Add step that forces private connections in libsyscommon
This is used to ensure that applications launched by launchpad get their
own connection with the appropriate label, rather than using the
connection that was established before the label change.
Change-Id: I1536904207b2b73a5478c6bde973c0e9296a8f87
Hwankyu Jhun [Thu, 22 Jun 2023 09:27:58 +0000 (09:27 +0000)]
Revert "Fix wrong sigchild handler"
This reverts commit
6c22de6fcbb73202fd9e040e641d40d04d708d7b.
Change-Id: Ib8b095cf2a3ed12bf4bc3f4e28a0456ab23160d1
Hwankyu Jhun [Thu, 22 Jun 2023 09:27:23 +0000 (09:27 +0000)]
Revert "Fix a bug about sigchld handler"
This reverts commit
62f6437b97d2b229d43bd0cc3d3c14ba6badc499.
Change-Id: I54b772c7c61c9c0954c85fc189456d68e09c2f4a
Hwankyu Jhun [Thu, 22 Jun 2023 05:55:21 +0000 (05:55 +0000)]
Release version 0.35.3
Changes:
- Fix a bug about sigchld handler
Change-Id: Idbb1a2b694d783e0a1133a1b24fb907321bd2552
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 22 Jun 2023 05:41:00 +0000 (05:41 +0000)]
Fix a bug about sigchld handler
When calling the OnSigchldReceived() of the EventListener, the pid and
the status should be set properly.
Change-Id: Icc5b1fd0875dc92c3bf513e0e3afe12d6b6e538a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 22 Jun 2023 02:09:12 +0000 (02:09 +0000)]
Release version 0.35.2
Changes:
- Remove exit() call
- Fix wrong sigchild handler
Change-Id: Ib5ce2d196cd7dbd1065da75f538bd7448963b088
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 22 Jun 2023 01:55:07 +0000 (01:55 +0000)]
Fix wrong sigchild handler
The event listener should be called when getting the sigchld signal.
Change-Id: I9dc085b04237c1df3df84f73b1345032c4fe9cc3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 22 Jun 2023 00:50:55 +0000 (00:50 +0000)]
Remove exit() call
Even if execv() call is failed, the launchpad-loader must not call the exit().
It can cause the deadlock issue if the library does not consider caling
exit handlers immediately.
Change-Id: Ieae9da9c9a5162a4dc5da3d78460a8e02c7cdf5d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 21 Jun 2023 06:01:50 +0000 (06:01 +0000)]
Release version 0.35.1
Changes:
- Fix a bug related to the onboot timer setting
Change-Id: Ia658884279b791581148761501a8a03b00dd59c8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 20 Jun 2023 22:42:59 +0000 (22:42 +0000)]
Fix a bug related to the onboot timer setting
Before setting the onboot timer, the launchpad checks whether the loader context
was prepared or not. Unfortunately, the touched flag was not set.
This patch add the flag set in the Prepare() method.
Change-Id: Id6be61426bb2d3d2a86f350a159900ae41e890a5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 20 Jun 2023 06:28:34 +0000 (06:28 +0000)]
Release version 0.35.0
Changes:
- Remove blocking and unblocking all sub threads
- Support Launch Mode
Change-Id: I1d1e2f56c1bf288817b98c21770feffcaf4f14d0
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 20 Jun 2023 01:24:45 +0000 (01:24 +0000)]
Support Launch Mode
The platform developer can set the launch mode of the app execution about
the loader using the configuration file.
There are 4 modes as below:
1. Mode=Previous_Operation:
- This mode is the original behavior. If the loader is not preapred,
the application will be executed using fork() & execv().
2. Mode=Default_Operation:
- This mode is the default behavior from Tizen 8.0.
- If the loader is not prepared and the loader is running, the launchpad
waits until the loader is prepared. And then, the launch request will
be delivered to the loader process.
3. Mode=Always_Loader:
- This mode is that the application will be always executed using
the loader process.
- Even if the loader process is not executed, the launch request will
be delivered to the loader process.
- If the loader process is not executed, the launchpad executes
the loader process when getting the launch request.
- After processing the launch request, the launchpad executes the loader
process when the pending request exists.
4. Mode=Always_Loader_Without_CPUChecker:
- This mode is the modified version of the "Mode=Always_Loader".
- The loader process will be executed after processing the launch request.
Change-Id: I95c7be50f4e8e79b7c490b03ecf1733c1a3f1aed
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 20 Jun 2023 04:37:11 +0000 (04:37 +0000)]
Remove blocking and unblocking all sub threads
If the launchpad library tries to block the sub thread, the main thread
can be blocked. Because, if the sub thread calls the dlsym(), the global
mutex is locked. In this case, the main thread can be blocked by the mutex.
+------------------------------------------------------------------------------+
| Thread 22 (Thread 0xa5bf9250 (LWP 8524)): |
| #0 0xb60cc754 in pthread_cond_wait@@GLIBC_2.4 () from |
| target:/lib/libpthread.so.0 |
| #1 0xb5fe5c84 in std::condition_variable::wait( |
| std::unique_lock<std::mutex>&) () from target:/lib/libstdc++.so.6 |
| #2 0xaf315a90 in launchpad::ThreadControl::SignalHandler(int) () from |
| target:/lib/liblaunchpad.so.0 |
| #3 <signal handler called> |
| #4 0xb60d06c4 in __lll_lock_wait () from target:/lib/libpthread.so.0 |
| #5 0xb60c7de8 in pthread_mutex_lock () from target:/lib/libpthread.so.0 |
| #6 0xb60e9098 in dlsym () from target:/lib/libdl.so.2 |
| |
| Thread 1 (Thread 0xb61be010 (LWP 5386)): |
| #0 0xb60d06c4 in __lll_lock_wait () from target:/lib/libpthread.so.0 |
| #1 0xb60c7de8 in pthread_mutex_lock () from target:/lib/libpthread.so.0 |
| #2 0xb619f6d4 in _dl_lookup_symbol_x () from target:/lib/ld-linux.so.3 |
| #3 0xb61a3d00 in _dl_fixup () from target:/lib/ld-linux.so.3 |
+------------------------------------------------------------------------------+
Change-Id: I98ab129dabcc73e9fc7457ea400cab735bd3e4a2
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Tue, 20 Jun 2023 00:29:50 +0000 (09:29 +0900)]
Release version 0.34.1
Changes:
- Fix build error
Change-Id: I419370759eac2ccf4d12b403ebb5b265a9d81053
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Tue, 20 Jun 2023 00:21:00 +0000 (09:21 +0900)]
Fix build error
In 64bit build system, uint64_t is mapped to unsigned long int.
Therefore, when printing uint64_t, it should be cast as unsigned long long.
Logs:
[ 209s] /home/abuild/rpmbuild/BUILD/launchpad-0.34.0/src/app-defined-loader/app-defined-loader.cc: In member function 'void launchpad::loader::AppDefinedLoader::PreloadLib(tizen_base::Bundle)':
[ 209s] /usr/include/dlog/dlog-internal.h:72:31: error: format '%llu' expects argument of type 'long long unsigned int', but argument 8 has type 'uint64_t' {aka 'long unsigned int'} [-Werror=format=]
Change-Id: Ia59a6f765d70040037a031a0715a7622166e19fb
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Mon, 19 Jun 2023 08:08:11 +0000 (17:08 +0900)]
Release version 0.34.0
Changes:
- Add status to AUL_DBUS_APPDEAD_SIGNAL
- Modify app-defined-loader
- Refactor launchpad loader
Change-Id: I6e4a75a8d68d45bca046ad214a7876128cfe0200
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Mon, 19 Jun 2023 03:37:28 +0000 (03:37 +0000)]
Refactor launchpad loader
The launchpad-loader is implemented using C++ language.
Change-Id: I9882c1c80fabd0ae81cb26fe4ac1dd72a0c19911
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 19 Jun 2023 05:33:31 +0000 (05:33 +0000)]
Modify app-defined-loader
The app-defined-loader uses the launchpad library.
This patch removes codes of lib/common directory.
Change-Id: Ied95a2cc31afb66796a47e4108af81fb1632f709
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Fri, 16 Jun 2023 03:38:39 +0000 (12:38 +0900)]
Add status to AUL_DBUS_APPDEAD_SIGNAL
When an app terminates, launchpad sends app_dead signals including
exit status.
Change-Id: I0ab5a0ccdbe8a0266c257dc40a0f96b03c184b11
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Mon, 19 Jun 2023 01:02:38 +0000 (01:02 +0000)]
Release version 0.33.7
Changes:
- Revert "Add debugging logs"
Change-Id: I96ba296e5eb18ef87b040d4e46f84ef0adabffc8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Sun, 18 Jun 2023 22:42:57 +0000 (22:42 +0000)]
Revert "Add debugging logs"
This reverts commit
02e70912d79139a01df4aa06a013084b24460da5.
The issue was related to memory creation in the sub thread.
Change-Id: Ie019f0e2e13b5489f789631168bd68f9a3ed2c96
Hwankyu Jhun [Fri, 16 Jun 2023 06:24:03 +0000 (06:24 +0000)]
Release version 0.33.6
Changes:
- Initialize threads before running main loop
Change-Id: I9f563531f086d24474421c06db15dba133709fe6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 16 Jun 2023 05:56:21 +0000 (05:56 +0000)]
Initialize threads before running main loop
This patch adds the DBus::Init() call in the OnCreate() of Launchpad
to avoid a blocking issue of the child process.
If a new child process is creating while creating the thread, the child
process can be blocked when the child process tries to allocate the memory.
The initialization of the cleaner thread is moved.
Change-Id: I3c93eca912c69051523651a8b9892eaf4b718b8a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 16 Jun 2023 04:18:21 +0000 (04:18 +0000)]
Release version 0.33.5
Changes:
- Add debugging logs
Change-Id: If35e15ebf6a582d7ea9de732da10fde9d9f171f7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 16 Jun 2023 02:29:51 +0000 (02:29 +0000)]
Add debugging logs
This patch is for debugging.
Change-Id: I49cda06d89c00a4c4c645bd4bee55c4ec14edd4f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 15 Jun 2023 04:51:54 +0000 (04:51 +0000)]
Release version 0.33.4
Changes:
- Fix launchpad loader library
Change-Id: I8c39382631b5f04ce17394b803b1e5f5767edbc4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 15 Jun 2023 04:34:53 +0000 (04:34 +0000)]
Fix launchpad loader library
When the terminate callback returns an error, the launchpad_loader_main()
should return with the error value.
Change-Id: Iae5cdedb0869e7c4ece0bdb96f026bba2155e59c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 13 Jun 2023 08:16:24 +0000 (08:16 +0000)]
Release version 0.33.3
Changes:
- Add missing redirection
- Modify CloseAllFds method
Change-Id: Ie2e31d409d34a0e82a1f0fc244a6bcb192e9bdf3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 13 Jun 2023 07:50:16 +0000 (07:50 +0000)]
Modify CloseAllFds method
While searching the fd directory using std::filesystem::directory_iterator,
we can close the file descriptor of the directory_iterator. In this case,
the std::filesystem::filesystem_error exception will be thrown.
To avoid throwing the exception, the method uses std::vector to store
file descriptors. And then, the method closes all file descriptors using
the vector.
Change-Id: I281ba065ec1a8b90d90791a31f4abe3e4724fad3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 12 Jun 2023 05:20:55 +0000 (05:20 +0000)]
Add missing redirection
If calling dlog_connect_fd() is failed, the launchpad should try to
redirect fd to null node.
Change-Id: I8bb2a2d2a585b7c0e1eff9e3ba958801a5bf49e6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 12 Jun 2023 03:55:03 +0000 (03:55 +0000)]
Release version 0.33.2
Changes:
- Add setting enviornment variable
Change-Id: I704189c846c70ff1199e6dbb99a1c70ce5854218
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 12 Jun 2023 03:42:06 +0000 (03:42 +0000)]
Add setting enviornment variable
"DALI_DISABLE_PARTIAL_UPDATE" is added for dali library.
Change-Id: If4180e4206301283583bae592dcd319ba6bf59c0
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 12 Jun 2023 02:31:55 +0000 (02:31 +0000)]
Release version 0.33.1
Changes:
- Fix a bug about setting LD_LIBRARY_PATH
Change-Id: Ib86371ae60073986666e9bd086625d8b037d4ba4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 12 Jun 2023 02:27:42 +0000 (02:27 +0000)]
Fix a bug about setting LD_LIBRARY_PATH
The path of the LD_LIBRARY_PATH should be
'<app_root_path>/bin/<executable_file>/../lib/".
Change-Id: I6062208fe217d17298132a8edeb2244e047b17e1
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 7 Jun 2023 07:30:11 +0000 (07:30 +0000)]
Release version 0.33.0
Changes:
- Refactor launchpad common library
- Adjust log messages
- Fix a bug about debug mode
Change-Id: Iff40715cb58cc2a109ef29fb4be1358b5b5fca3a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 7 Jun 2023 07:24:48 +0000 (07:24 +0000)]
Fix a bug about debug mode
The EXE tag can be empty. Unfortunately, the launchpad does not check
whether the exe is empty or not. This patch adds the empty check before
inserting the exe path to the vector.
Change-Id: I2f86449d24364f3a805ed026020c4e14459c9a23
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 5 Jun 2023 08:48:12 +0000 (08:48 +0000)]
Adjust log messages
Some log level is changed to debug level from warning level.
And, wrong log message is fixed.
Change-Id: I40b340ad60974c8926a37a168e513f6880bf0331
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 5 Jun 2023 04:30:36 +0000 (04:30 +0000)]
Refactor launchpad common library
The common library is implemented using C++ language.
Change-Id: I34759ccb4098af00bd484e77be6a63d67fb3c8dc
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 2 Jun 2023 07:14:48 +0000 (07:14 +0000)]
Release version 0.32.1
Changes:
- Modify default loader configuration file
- Fix wrong implementation of launchpad library
Change-Id: I1b924bcbe0b05214dcd5f8014238693f87e3c8aa
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 2 Jun 2023 06:50:27 +0000 (06:50 +0000)]
Fix wrong implementation of launchpad library
The context pointer must not be the unique_ptr. If it's the unique_ptr,
the unique_ptr tries to release the pointer.
Change-Id: I3e961ebdae813e685095a4b9c74b1221c8799860
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 2 Jun 2023 00:09:43 +0000 (00:09 +0000)]
Modify default loader configuration file
The name of the dali toolkit library is changed to libdali2-toolkit.so.
Change-Id: I27af311c462b41c6bf2f17c5dc8eb7e98b90c446
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 1 Jun 2023 22:05:54 +0000 (22:05 +0000)]
Release version 0.32.0
Changes:
- Refactor Launchpad Library
- Block and unblock threads
Change-Id: Id223483ee6f2404214df03170b4d6acaf119a1db
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 1 Jun 2023 07:34:05 +0000 (07:34 +0000)]
Block and unblock threads
Before calling the security_manager_prepare_app2() function, all threads
of the loader process MUST be blocked not to make a new thread or
terminate itself. This patch blocks all sub threads using real-time signal
and condition variable. After calling the function, the main thread of
the loade process sends the signal to unblock all sub threads using
condition variable.
Change-Id: I60e0e102f62fe8327fa844072b3017075e1692fa
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 26 May 2023 01:15:30 +0000 (01:15 +0000)]
Refactor Launchpad Library
The launchpad library is impemented using C++ language.
Change-Id: I191aca9713f8771806a2516374d0710185ab9993
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 25 May 2023 04:47:47 +0000 (04:47 +0000)]
Release version 0.31.3
Changes:
- Fix static analysis issues
- Fix a bug about creating a loader process of hydra loader
- Modify setting scheduling priority
Change-Id: I780741702fa9cb1b91958dad069435b9053ceecf
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 24 May 2023 08:51:34 +0000 (08:51 +0000)]
Modify setting scheduling priority
To set the scheduling priority properly, the launchpad-process-pool
sends the priority to the child process. And, after calling fork(),
the child process creates a new session using setsid().
The argument of the setpriority() is changed to PRIO_PGRP from PRIO_PROCESS.
The hydra loader changes the priority to 0 to restore to its original state.
Change-Id: Ie5d5d6d55493934c7706b32789d35697d05285d6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 25 May 2023 02:32:24 +0000 (02:32 +0000)]
Fix a bug about creating a loader process of hydra loader
The argument that is the loader type is overwritten.
This patch copies the arguments and uses it when executing a child process.
Change-Id: Ic6a86c6a9d544ef90f0976041d92fa1145735551
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Thu, 25 May 2023 01:52:12 +0000 (10:52 +0900)]
Fix static analysis issues
Changes:
- Initializes uninitialized attributes.
Change-Id: Ieb43c2e5eb9db7d31dd262055b114353bcbe432e
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Tue, 23 May 2023 01:43:18 +0000 (10:43 +0900)]
Release version 0.31.2
Changes:
- Fix gsource timer deletion
Change-Id: Ic5e5d901520a38b6bb21194b563f96b7cb2b92ab
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Mon, 22 May 2023 09:47:08 +0000 (18:47 +0900)]
Fix gsource timer deletion
This implementation error cause invalid removing source.
Change-Id: I1dea3071aed99576d737ee4c9be00f7a688f9e6b
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Fri, 19 May 2023 04:16:39 +0000 (04:16 +0000)]
Release version 0.31.1
Changes:
- Send result while handling the launch request
- Fix a bug about debugging application
- Modify plugin initialization of app-defined-loader
- Modify launch request handling
Change-Id: If637b4dfb33cf079ee35fb2f89713670f8ef3e1f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 19 May 2023 01:03:57 +0000 (01:03 +0000)]
Modify launch request handling
If the loader context is not prepared, the launchpad does not wait for
the loader is ready. Even if it's not prepared, the launchpad wait until
the loader is ready when the loader is hydra mode.
And, When setting the process ID of the loader context, the launchpad
sends the result to the caller if it is pending.
Change-Id: I35674ab5727644cacf3e3770e252e4a2a462c9f0
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 15 May 2023 23:11:53 +0000 (23:11 +0000)]
Modify plugin initialization of app-defined-loader
To avoid delay issue, caling _launchpad_plugin_prepare_app() is moved.
Change-Id: I1cf605fc43d1d75712640bb25fd5dcbbc5d2fc47
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 18 May 2023 08:19:27 +0000 (08:19 +0000)]
Fix a bug about debugging application
When the debugger info is loaded first, the candidate process of
the process pool could not load the debugger info properly.
This patch modifies that the launchpad behavior after loading
the debugger info. To debug application properly, the launchpad
terminates the candidate process to make not using it.
Change-Id: I483d32b8712712b5f80f9f5579808b1ac493139a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>