]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/service: also pass sockets to control processes when stdio is named fd
authorMike Yuan <me@yhndnzj.com>
Wed, 29 Oct 2025 21:03:02 +0000 (22:03 +0100)
committerMike Yuan <me@yhndnzj.com>
Thu, 30 Oct 2025 16:47:30 +0000 (17:47 +0100)
src/core/service.c

index e1cc618fc4d153adedf0fac93d4258247f9686b9..3d7861f377c97dacd55b912c563aab883e7b47a4 100644 (file)
@@ -1743,9 +1743,9 @@ static int service_spawn_internal(
 
                 exec_params.open_files = s->open_files;
 
-        } else if (s->exec_context.std_input == EXEC_INPUT_SOCKET ||
-                   s->exec_context.std_output == EXEC_OUTPUT_SOCKET ||
-                   s->exec_context.std_error == EXEC_OUTPUT_SOCKET) {
+        } else if (IN_SET(s->exec_context.std_input, EXEC_INPUT_SOCKET, EXEC_INPUT_NAMED_FD) ||
+                   IN_SET(s->exec_context.std_output, EXEC_OUTPUT_SOCKET, EXEC_OUTPUT_NAMED_FD) ||
+                   IN_SET(s->exec_context.std_error, EXEC_OUTPUT_SOCKET, EXEC_OUTPUT_NAMED_FD)) {
 
                 r = service_collect_fds(s,
                                         &exec_params.fds,