Update guide to take `PidFile=` for double-forking services into account 05/297305/2
authorAdam Michalski <a.michalski2@partner.samsung.com>
Wed, 16 Aug 2023 15:03:14 +0000 (17:03 +0200)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Mon, 21 Aug 2023 10:43:19 +0000 (10:43 +0000)
Change-Id: I0dbc4decea02f5e19694ddf0f7b8c5ef336a9216

doc/GUIDE.md

index 5c92327..49eadf1 100644 (file)
@@ -483,7 +483,7 @@ Each of the execution method should be used according to the specific needs of t
 | Service binary with a library | any* | *for the `direct` method it's necessary to add `Environment=LD_LIBRARY_PATH=...` to the ISU package directory |
 | Service binary performing mounts that must be visible by the rest of the system | direct | Any service that creates system-visible mounts (for other services or applications) should not be run in an isolated environment |
 | Service performing privileged kernel operations | direct, systemd | Some services need to manage kernel objects that are not allowed when service is running in the user namespace (used by `isu-sandbox`) |
-| Double-forking service | direct, systemd | `isu-sandbox` is not able to track services that double-forks, resulting in multiple services being started one after another |
+| Double-forking service | any* | *bear in mind that `isu-sandbox` is not able to track services that double-forks, resulting in multiple services being started one after another unless the service uses a PID file where it stores its PID and the service file uses `PIDFile=`|
 
 Please consult the following real-life use cases to understand how the method was chosen.
 
@@ -494,7 +494,7 @@ Please consult the following real-life use cases to understand how the method wa
 |connman | systemd | Requires appropriate permissions to perform a privileged system-wide `ioctl` bringing up a network interface |
 |enlightenment | isu-sandbox | Works properly |
 |sensord | isu-sandbox | Works properly |
-|muse-server | direct | Doesn't work in the `isu-sandbox` because the service executes the `fork()` system call and the parent (`isu-sandbox`) terminates|
+|muse-server | isu-sandbox | Works properly |
 |pulseaudio | isu-sandbox | Works properly |
 
 ### Build ISU Package