async: use FORK_DETACH for asynchronous syncs

To get proper "fire-and-forget" feeling we really want to make sure
noone has to reap the forked off process.
This commit is contained in:
Lennart Poettering
2023-06-23 10:05:16 +02:00
parent e4687bb8a6
commit 530f6ada2e
+1 -1
View File
@@ -22,7 +22,7 @@ int asynchronous_sync(pid_t *ret_pid) {
* original process ever, and a thread would do that as the process can't exit with threads hanging in blocking
* syscalls. */
r = safe_fork("(sd-sync)", FORK_RESET_SIGNALS|FORK_CLOSE_ALL_FDS, ret_pid);
r = safe_fork("(sd-sync)", FORK_RESET_SIGNALS|FORK_CLOSE_ALL_FDS|(ret_pid ? 0 : FORK_DETACH), ret_pid);
if (r < 0)
return r;
if (r == 0) {