From 530f6ada2ef253d726b91e5f8e2f6b204f69aea5 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 22 Jun 2023 15:11:52 +0200 Subject: [PATCH] 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. --- src/shared/async.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/async.c b/src/shared/async.c index cb5e179cdf..b7ecb9c4b7 100644 --- a/src/shared/async.c +++ b/src/shared/async.c @@ -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) {