chiark / gitweb /
socket: don't close sockets when activating per-connection units
[elogind.git] / src / execute.c
index 6b6c2855b48739c04febe6878c37d6370f3e3b11..352def3cfaff28f8826a64c27a1c533471bbacfc 100644 (file)
@@ -976,7 +976,8 @@ int exec_spawn(ExecCommand *command,
                 /* Close sockets very early to make sure we don't
                  * block init reexecution because it cannot bind its
                  * sockets */
-                if (close_all_fds(fds, n_fds) < 0) {
+                if (close_all_fds(socket_fd >= 0 ? &socket_fd : fds,
+                                  socket_fd >= 0 ? 1 : n_fds) < 0) {
                         r = EXIT_FDS;
                         goto fail;
                 }