platform/core/appfw/launchpad.git
12 months agoFix double close 69/300169/1
Hwankyu Jhun [Wed, 18 Oct 2023 00:46:47 +0000 (09:46 +0900)]
Fix double close

This patch removes input_file.close() call from debugger info parser.

Change-Id: Ib430ee0f6f715f55aa6f23a28b65634700e98ade
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoAdd SIGUSR1 signal handler 65/300165/3
Hwankyu Jhun [Wed, 18 Oct 2023 00:03:48 +0000 (09:03 +0900)]
Add SIGUSR1 signal handler

Currently, the launchpad-process-pool suddenly gets the SIGUSR1 signal.
To debug the reason, the SIGUSR1 signal handler is added.
While getting the signal, the launchpad-process-pool prints the sender
pid and the backtrace.

Change-Id: I842e374b836b83a635722baafa628bea10f072d0
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoRelease version 0.38.10 31/299931/1
Hwankyu Jhun [Thu, 12 Oct 2023 08:00:00 +0000 (17:00 +0900)]
Release version 0.38.10

Changes:
 - Remove previous files at fork

Change-Id: I6bcd8cec89a1f332474bdad3285e73916041a4c3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoRemove previous files at fork 30/299930/1
Hwankyu Jhun [Thu, 12 Oct 2023 07:43:37 +0000 (16:43 +0900)]
Remove previous files at fork

This patch uses pthread_atfork() to register a fork handler.
While creating a children process, we should remove previous files
related to the process ID.

Change-Id: I04a646feefeb7dd21cc102c4ab2bb43f10a259b5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoRelease version 0.38.9 07/299907/1
Hwankyu Jhun [Thu, 12 Oct 2023 02:16:27 +0000 (11:16 +0900)]
Release version 0.38.9

Changes:
 - Exclude dlog fds from closing fds

Change-Id: I3c215acf48c32d6d186409f9e2c0d1b32e0f3b0a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoExclude dlog fds from closing fds 02/299902/1
Hwankyu Jhun [Thu, 12 Oct 2023 01:03:39 +0000 (10:03 +0900)]
Exclude dlog fds from closing fds

To print dlogs, the process pool checks whether the file descriptor is
dlog fd or not. And then, the dlog fds will be excluded from closing fds.

Change-Id: I86aee6554ec3ba7ad8cfbac395a84e75b629b52b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoRelease version 0.38.8 39/299839/1
Hwankyu Jhun [Wed, 11 Oct 2023 05:09:24 +0000 (14:09 +0900)]
Release version 0.38.8

Changes:
 - Fix external package activation

Change-Id: I9e140fd972ddc010adaf7ed404b7bfae7d818dfc
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoFix external package activation 37/299837/2
Hwankyu Jhun [Wed, 11 Oct 2023 04:48:33 +0000 (13:48 +0900)]
Fix external package activation

The argument must be const char**. The dbus message must have a uid.

Change-Id: I7be2121233b1a801d3f4190f529d14d1f57c79e6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoRelease version 0.38.7 34/299634/1
Hwankyu Jhun [Fri, 6 Oct 2023 00:00:02 +0000 (09:00 +0900)]
Release version 0.38.7

Changes:
 - Check SCHED_PRIORITY value

Change-Id: I771903a13fbcc20e8db09b31af9e220875427ae4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoCheck SCHED_PRIORITY value 81/299581/1
Hwankyu Jhun [Thu, 5 Oct 2023 07:53:57 +0000 (16:53 +0900)]
Check SCHED_PRIORITY value

If the SCHED_PRIORITY value is not 0, the app-defined-loader and the
launchpad-loader set the scheduling priority to 0.

Change-Id: I0281548e724f2d3a7caba981630d48d3a790a6e2
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoRelease version 0.38.6 06/299506/1 accepted/tizen/unified/20231005.030715
Changgyu Choi [Wed, 4 Oct 2023 01:36:56 +0000 (10:36 +0900)]
Release version 0.38.6

Changes:
 - Fix wrong log message
 - Change stdio redirect buffer

Change-Id: If627adcf78141826b34a7f0f9bafdd5a7c888362
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
13 months agoChange stdio redirect buffer 85/299385/1
Changgyu Choi [Wed, 27 Sep 2023 04:38:05 +0000 (13:38 +0900)]
Change stdio redirect buffer

Changes buffer from LOG_ID_APPS to LOG_ID_MAIN

Change-Id: I1863031404dafb8551e27f6c6769e1c2f92a33a9
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
13 months agoFix wrong log message 96/299196/1
Hwankyu Jhun [Thu, 21 Sep 2023 09:33:40 +0000 (18:33 +0900)]
Fix wrong log message

The SchedPriority::Set() log message is fixed.

Change-Id: I7187a0e48aa914563c6a47f2b701d9e03bb0440a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoRelease version 0.38.5 91/299191/1 accepted/tizen/8.0/unified/20231005.093035 accepted/tizen/unified/20230923.084308 tizen_8.0_m2_release
Hwankyu Jhun [Thu, 21 Sep 2023 08:39:26 +0000 (17:39 +0900)]
Release version 0.38.5

Changes:
 - Fix wrong implmenetation of launchpad library

Change-Id: Ie864909e35ee895ed1efd15cdd4c27666776aa6b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoFix wrong implmenetation of launchpad library 90/299190/2
Hwankyu Jhun [Thu, 21 Sep 2023 08:31:39 +0000 (17:31 +0900)]
Fix wrong implmenetation of launchpad library

The argc should be the size of the result of Bundle::Export().

Change-Id: Id4ec0eab4bdec0c750ef9553c001e2620703dffa
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoRelease version 0.38.4 66/299166/1
Hwankyu Jhun [Thu, 21 Sep 2023 04:47:19 +0000 (13:47 +0900)]
Release version 0.38.4

Changes:
 - Modify argv creation of liblaunchpad library

Change-Id: I541e8139e52f6ae01a21b9becef41a5b200608b6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoModify argv creation of liblaunchpad library 63/299163/2
Hwankyu Jhun [Thu, 21 Sep 2023 04:18:05 +0000 (13:18 +0900)]
Modify argv creation of liblaunchpad library

The last element of the argv should be nullptr.
If the last element is not nullptr, the following error can be occurred:
"Failed to execute a file. path: <executable file path>, errno: 14(Bad address)"

Change-Id: I5d691492171caf2e8a33ca72e874de6d609cabfb
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoRelease version 0.38.3 04/299104/1
Hwankyu Jhun [Wed, 20 Sep 2023 01:47:07 +0000 (10:47 +0900)]
Release version 0.38.3

Changes:
 - Fix static analysis issues

Change-Id: I4606ad5f58d7283d2d5e3492febbd9e1b6a57610
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoFix static analysis issues 43/299043/1
Hwankyu Jhun [Tue, 19 Sep 2023 02:01:09 +0000 (11:01 +0900)]
Fix static analysis issues

Issues:
 - COPY_INSTEAD_OF_MOVE

Change-Id: I1487405d8664a3fc2b056ac747927eb817943312
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoRelease version 0.38.2 39/299039/1
Hwankyu Jhun [Tue, 19 Sep 2023 00:41:41 +0000 (09:41 +0900)]
Release version 0.38.2

Changes:
 - Fix static analysis issue

Change-Id: I99deee4ac9dd219943a7a3bed7f849729c7b184d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoFix static analysis issue 35/299035/1
Hwankyu Jhun [Mon, 18 Sep 2023 22:20:25 +0000 (07:20 +0900)]
Fix static analysis issue

Checker:
 - DEREF_OF_NULL.RET_STAT

Change-Id: Ifc95e098d24ccd2d80c83bee5f3340b4e13c5a66
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoRelease version 0.38.1 68/298868/1
Hwankyu Jhun [Thu, 14 Sep 2023 10:16:47 +0000 (19:16 +0900)]
Release version 0.38.1

Changes:
 - Modify disposal loader handler

Change-Id: I3d849e024e4177fc3314dd3c2a24e24cd6240dc0
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoModify disposal loader handler 67/298867/1
Hwankyu Jhun [Thu, 14 Sep 2023 10:15:00 +0000 (19:15 +0900)]
Modify disposal loader handler

The result should be delivered to the caller before sending SIGKILL signal.

Change-Id: I829d244b16aa4472ea6935349c5bf0e1353fc553
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoRelease version 0.38.0 15/298815/1 accepted/tizen/unified/20230914.164936
Hwankyu Jhun [Thu, 14 Sep 2023 01:39:10 +0000 (10:39 +0900)]
Release version 0.38.0

Changes:
 - Lock and unlock mutex for process creation
 - Add a new function for loader termination
 - Modify launchpad_loader_dispose() function

Change-Id: I22ea0a0e1b82941effae92af36628655c0ae47fb
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoModify launchpad_loader_dispose() function 14/298814/1
Hwankyu Jhun [Thu, 14 Sep 2023 01:27:04 +0000 (10:27 +0900)]
Modify launchpad_loader_dispose() function

The type of the return value is changed to 'int' from 'void'.

Change-Id: I7af938e048d36348a9ad6d070c6ab9feaa8e9978
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoAdd a new function for loader termination 09/298809/5
Hwankyu Jhun [Wed, 13 Sep 2023 23:44:15 +0000 (08:44 +0900)]
Add a new function for loader termination

The launchpad_loader_dispose() function is added to dispose the loader iself.
The function sends a disposal request to the launchpad-process-pool.
When the launchpad-process-pool gets the request, it sends SIGKILL signal to
the running loader process.

Change-Id: I74ed0b2b5fa42d47220b335e84fb1776b7b748f5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoLock and unlock mutex for process creation 78/298778/2
Hwankyu Jhun [Wed, 13 Sep 2023 10:09:42 +0000 (19:09 +0900)]
Lock and unlock mutex for process creation

To prevent memory corruption issue, this patch adds locking and
unlocking a mutex. If the memory allocation occurs when creating a
children process using fork(), the children process has a memory problem.

Change-Id: I6abc980533686421b30a7cbdac52f370cc352748
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoRelease version 0.37.4 78/298578/1
Hwankyu Jhun [Mon, 11 Sep 2023 04:34:19 +0000 (13:34 +0900)]
Release version 0.37.4

Changes:
 - Reset scheduling priority

Change-Id: I01bff79963e43ec4bbda4c9ef91d2db9a0578ed8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
13 months agoReset scheduling priority 77/298577/1
Hwankyu Jhun [Mon, 11 Sep 2023 03:57:57 +0000 (12:57 +0900)]
Reset scheduling priority

This patch removes calling the SchedPriority::Set(0) from the launchpad
library. After this patch is applied, the loader process should reset
the priority to zero itself.

Change-Id: I93b1e435ab4ebbe9d21b790c547010e39321dabe
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 0.37.3 15/298115/1 accepted/tizen/unified/20230905.085511
Hwankyu Jhun [Fri, 1 Sep 2023 02:09:46 +0000 (11:09 +0900)]
Release version 0.37.3

Changes:
 - Set reset on fork flag

Change-Id: I505a0e223308029def83ce0458976830e0746144
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoSet reset on fork flag 08/298108/1
Hwankyu Jhun [Thu, 31 Aug 2023 23:01:40 +0000 (08:01 +0900)]
Set reset on fork flag

The CPU_BOOSTING_RESET_ON_FORK flag is required in order not to
unintentionally inherit the CPU boosting to child processes.

Change-Id: Ie0573b18d1e595f7d59e0cc3e76c8784fbceffd4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 0.37.2 58/298058/1
Hwankyu Jhun [Thu, 31 Aug 2023 00:12:19 +0000 (09:12 +0900)]
Release version 0.37.2

Changes:
 - Modify ready file path

Change-Id: I2a6e4eb25fbfc7fc60dd9629dad7c2e51408dbd2
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoModify ready file path 53/298053/1
Hwankyu Jhun [Wed, 30 Aug 2023 23:23:25 +0000 (08:23 +0900)]
Modify ready file path

The ready file path is changed to "/tmp/.<uid>-<loader_name>.ready".

Change-Id: Ia8b59a289b8181be53ef35edb78a89e52c830bb7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 0.37.1 23/298023/1 accepted/tizen/unified/20230831.081036
Hwankyu Jhun [Wed, 30 Aug 2023 06:54:22 +0000 (15:54 +0900)]
Release version 0.37.1

Changes:
 - Do not close all file descriptors

Change-Id: I4e9a8784972eee74a9d4d3e5a57ef5fa4cb775ef
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoDo not close all file descriptors 60/297960/2
Hwankyu Jhun [Tue, 29 Aug 2023 06:53:57 +0000 (15:53 +0900)]
Do not close all file descriptors

When the loader fails to find the main function, it tries to execute
an application using execv(). Before calling execv(), the loader closes
all opened file descriptors. Unfortunately, the loader can have crashed
by that. To avoid crash issues, this patch removes calling CloseAllFds().

Change-Id: I902d2f73ae30dc63e4d82599da6c1ced436e3920
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 0.37.0 14/298014/1
Hwankyu Jhun [Wed, 30 Aug 2023 05:52:38 +0000 (14:52 +0900)]
Release version 0.37.0

Changes:
 - Handle restart request

Change-Id: Ia6e7b0b58772a7ecbfe27100882574da17c801d7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoHandle restart request 09/298009/1
Hwankyu Jhun [Wed, 30 Aug 2023 04:39:43 +0000 (13:39 +0900)]
Handle restart request

Some platform developer wants to restart the loader process directly.
This patch supports the restart command.

Change-Id: I003891a8a9e5160c9b43d5ca11a61f3b79742662
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 0.36.9 87/297887/1 accepted/tizen/unified/20230829.181358
Hwankyu Jhun [Mon, 28 Aug 2023 06:28:28 +0000 (15:28 +0900)]
Release version 0.36.9

Changes:
 - Check CPU boosting level before calling boost API

Change-Id: Ib8b62f651161c9d4f11c369d015a2639178cc708
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoCheck CPU boosting level before calling boost API 81/297881/2
Hwankyu Jhun [Mon, 28 Aug 2023 05:42:32 +0000 (14:42 +0900)]
Check CPU boosting level before calling boost API

If the boosting is already applied to the launchpad-process-pool,
calling the resource_set_cpu_boosting() is not needed.

Change-Id: I14e564fa644e312c7eb6ca1305b222dd208ff3ca
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 0.36.8 05/297705/2 accepted/tizen/unified/20230823.173947
Changgyu Choi [Wed, 23 Aug 2023 06:33:13 +0000 (15:33 +0900)]
Release version 0.36.8

Changes:
 - Add setting priority to 0 before OnAdapterLoopBegin()

Change-Id: Ia254a37b83a5eb425df7e0fac98d7682f6ca99a6
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
14 months agoAdd setting priority to 0 before OnAdapterLoopBegin() 04/297704/1
Changgyu Choi [Wed, 23 Aug 2023 06:16:10 +0000 (15:16 +0900)]
Add setting priority to 0 before OnAdapterLoopBegin()

Change-Id: Ib72a523d8e3e2fd5700f7bbcc92e3ec2b6c3eee3
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
14 months agoRelease version 0.36.7 84/297484/1 accepted/tizen/unified/20230821.103318
Hwankyu Jhun [Mon, 21 Aug 2023 00:31:39 +0000 (09:31 +0900)]
Release version 0.36.7

Changes:
 - Remove timeout setting of applying cpu boosting

Change-Id: Ic39e5674387538b20622bba6d058840a37baabab
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRemove timeout setting of applying cpu boosting 26/297426/1
Hwankyu Jhun [Fri, 18 Aug 2023 04:56:24 +0000 (13:56 +0900)]
Remove timeout setting of applying cpu boosting

Unfortunately, the plugin module of the resource API does not support
timeout feature properly. According to the guide, if the timeout setting
exists, we must not call the resource_clear_cpu_boosting() function.
This patch changes the timeout argument to -1 from the 5000 (milliseconds).

Change-Id: Ice734819300b11d150231a149b6529cb92315281
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoRelease version 0.36.6 65/297365/2
Changgyu Choi [Thu, 17 Aug 2023 10:26:27 +0000 (19:26 +0900)]
Release version 0.36.6

Changes:
 - Fix crash issue

Change-Id: I820f4de159dae3bccfd592bd832d2d79951d51f1
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
14 months agoFix crash issue 53/297353/5
Changgyu Choi [Thu, 17 Aug 2023 09:10:48 +0000 (18:10 +0900)]
Fix crash issue

This patch is for a below crash issue.

#3  0xb6d503ce in __GI_abort () at abort.c:79
#4  0xb706dc1c in __gnu_cxx::__verbose_terminate_handler ()
    at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95
#5  0xb707c336 in __cxxabiv1::__terminate (
    handler=0xb707e820 <__gnu_cxx::__verbose_terminate_handler()>)
    at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:47
#6  0xb707c39f in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:57
#7  0x800b2cba in std::thread::~thread (this=0x810b5a9c, __in_chrg=<optimized out>)
    at /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/thread:139
#8  launchpad::Worker::~Worker (this=0x810b5a80, __in_chrg=<optimized out>)
    at /usr/src/debug/launchpad-0.36.3-1.i386/src/launchpad-process-pool/worker.cc:46
#9  0x800b2ce2 in launchpad::Worker::~Worker (this=0x810b5a80, __in_chrg=<optimized out>)
    at /usr/src/debug/launchpad-0.36.3-1.i386/src/launchpad-process-pool/worker.cc:46
#10 0x8009978c in std::default_delete<launchpad::Worker>::operator() (
    this=0x800ccb18 <launchpad::SignalManager::GetInst()::inst+280>, __ptr=<optimized out>)
    at /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/unique_ptr.h:75
#11 std::unique_ptr<launchpad::Worker, std::default_delete<launchpad::Worker> >::reset (
    __p=<optimized out>, this=0x800ccb18 <launchpad::SignalManager::GetInst()::inst+280>)
    at /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/unique_ptr.h:394
#12 launchpad::SignalManager::Dispose (
    this=this@entry=0x800cca00 <launchpad::SignalManager::GetInst()::inst>)
    at /usr/src/debug/launchpad-0.36.3-1.i386/src/launchpad-process-pool/signal_manager.cc:121
#13 0x8009983f in launchpad::SignalManager::Dispose (
    this=0x800cca00 <launchpad::SignalManager::GetInst()::inst>)
    at /usr/src/debug/launchpad-0.36.3-1.i386/src/launchpad-process-pool/signal_manager.cc:171
#14 launchpad::SignalManager::~SignalManager (
    this=0x800cca00 <launchpad::SignalManager::GetInst()::inst>, __in_chrg=<optimized out>)
    at /usr/src/debug/launchpad-0.36.3-1.i386/src/launchpad-process-pool/signal_manager.cc:171
#15 0xb6d6bfff in __run_exit_handlers (status=status@entry=-1, listp=0xb6f0339c <__exit_funcs>,
    run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
#16 0xb6d6c1d5 in __GI_exit (status=-1) at exit.c:139
#17 0x80096948 in launchpad::ProcessPool::OnExecution (this=<optimized out>)
    at /usr/src/debug/launchpad-0.36.3-1.i386/src/launchpad-process-pool/process_pool.cc:118
#18 0x80071b03 in launchpad::Executor::Execute (this=this@entry=0x810b8044,
    priority=priority@entry=0)
    at /usr/src/debug/launchpad-0.36.3-1.i386/src/launchpad-process-pool/executor.cc:50
#19 0x80096b09 in launchpad::ProcessPool::PrepareProcess (this=0x810b8040)

Change-Id: I96ff11d3fb0fc6d368d531e4ecc38bf10135bc84
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
14 months agoRelease version 0.36.5 34/297334/1 accepted/tizen/unified/20230818.054605
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>
14 months agoRevert "Create ready files of loader process" 31/297331/1
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

14 months agoCreate ready file for all loaders 30/297330/1
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>
14 months agoCreate ready files of loader process 55/296855/4
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>
14 months agoRelease version 0.36.4 24/297324/1
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>
14 months agoModify CPUBoostingController 60/297260/1
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>
14 months agoRelease version 0.36.3 81/297181/1 accepted/tizen/unified/20230814.121026
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>
14 months agoClose all fds while creating process pool 57/297157/4
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>
14 months agoAdd a missing exception handling 47/297147/1
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>
15 months agoRelease version 0.36.2 59/296559/1 accepted/tizen/unified/20230803.034104
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>
15 months agoChange multiple instance appid key 53/296553/1
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>
15 months agoRelease version 0.36.1 52/296452/1 accepted/tizen/unified/20230731.175307
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>
15 months agoFix static analysis issues 46/296446/1
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>
15 months agoRelease version 0.36.0 96/296396/1 accepted/tizen/unified/20230801.174223
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>
15 months agoHandle loader termination request 61/296361/4
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>
15 months agoRelease version 0.35.18 44/296244/1 accepted/tizen/unified/20230726.020638
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>
15 months agoModify SIGCHLD handler 41/296241/1
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>
15 months agoRelease version 0.35.17 24/296124/1
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>
15 months agoModify setting AUL_APPID environment variable for multiple instance 18/296118/4
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>
15 months agoRelease version 0.35.16 69/295969/1 accepted/tizen/unified/20230719.102853
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>
15 months agoModify setting environment variable 66/295966/2
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>
15 months agoRelease version 0.35.15 33/295833/1 accepted/tizen/unified/20230716.194413
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>
15 months agoChange exit method 26/295826/3
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>
15 months agoRelease version 0.35.14 91/295791/1
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>
15 months agoModify log tags 90/295790/1
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>
15 months agoRelease version 0.35.13 42/295642/1 accepted/tizen/unified/20230713.143449
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>
15 months agoAdd printing log message for debugging 41/295641/1
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>
15 months agoRelease version 0.35.12 22/295522/1 accepted/tizen/unified/20230712.040724
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>
15 months agoCheck arguments of loader 20/295520/2
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>
15 months agoFix a bug about invoking the event listener 16/295516/1
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>
15 months agoRelease version 0.35.11 50/295150/1 accepted/tizen/unified/20230705.063728 accepted/tizen/unified/dev/20230726.115735
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>
16 months agoFixed the build error using gcc 13 23/295123/1
wchang kim [Mon, 3 Jul 2023 05:49:35 +0000 (14:49 +0900)]
Fixed the build error using gcc 13

Change-Id: I1ad7ed75373562f1666dc1b5a8625886d55c0b8e

16 months agoRelease version 0.35.10 81/295081/1
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>
16 months agoCheck LaunchMode before setting scheduling priority 74/295074/2
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>
16 months agoModify activation method 26/295026/2
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>
16 months agoRelease version 0.35.9 35/295035/1
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>
16 months agoAdd an exception handling of the argument check 11/295011/1
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>
16 months agoRelease version 0.35.8 37/294837/1 accepted/tizen/unified/20230628.155137
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>
16 months agoModify Unref() method of LoaderContext 33/294833/2
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>
16 months agoRelease version 0.35.7 90/294790/1 accepted/tizen/unified/20230628.023654
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>
16 months agoFix crash issue of app-defined-loader 89/294789/1
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>
16 months agoRelease version 0.35.6 57/294757/1 accepted/tizen/unified/20230627.025436
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>
16 months agoAdd a new launch mode 47/294747/3
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>
16 months agoRelease version 0.35.5 53/294753/1
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>
16 months agoRevert "Add step that forces private connections in libsyscommon" 52/294752/1
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

16 months agoRelease version 0.35.4 75/294675/1 accepted/tizen/unified/20230626.043751
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>
16 months agoAdd step that forces private connections in libsyscommon 16/294516/5
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

16 months agoRevert "Fix wrong sigchild handler" 62/294662/1
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

16 months agoRevert "Fix a bug about sigchld handler" 61/294661/1
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

16 months agoRelease version 0.35.3 42/294642/1
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>
16 months agoFix a bug about sigchld handler 40/294640/1
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>
16 months agoRelease version 0.35.2 29/294629/1
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>
16 months agoFix wrong sigchild handler 25/294625/1
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>
16 months agoRemove exit() call 22/294622/1
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>
16 months agoRelease version 0.35.1 54/294554/1 accepted/tizen/unified/20230623.160656
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>