]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
socket-activate: remove effectively unused 'name' param for exec_process()
authorMike Yuan <me@yhndnzj.com>
Sun, 27 Apr 2025 18:05:40 +0000 (20:05 +0200)
committerMike Yuan <me@yhndnzj.com>
Sun, 27 Apr 2025 18:21:10 +0000 (20:21 +0200)
src/socket-activate/socket-activate.c

index 477f9d66567a009e1e4532a07bbb215d88fbf424..0a367799f830b0baaf0429e32359e5b19816b935 100644 (file)
@@ -123,10 +123,14 @@ static int open_sockets(int *ret_epoll_fd, bool accept) {
         return count;
 }
 
-static int exec_process(const char *name, char **argv, int start_fd, size_t n_fds) {
+static int exec_process(char * const *argv, int start_fd, size_t n_fds) {
         _cleanup_strv_free_ char **envp = NULL;
         int r;
 
+        assert(!strv_isempty(argv));
+        assert(start_fd >= 0);
+        assert(n_fds > 0);
+
         if (arg_inetd && n_fds != 1)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "--inetd only supported for single file descriptors.");
@@ -206,17 +210,20 @@ static int exec_process(const char *name, char **argv, int start_fd, size_t n_fd
         if (!joined)
                 return log_oom();
 
-        log_info("Execing %s (%s)", name, joined);
-        execvpe(name, argv, envp);
+        log_info("Executing: %s", joined);
+        execvpe(argv[0], argv, envp);
 
-        return log_error_errno(errno, "Failed to execp %s (%s): %m", name, joined);
+        return log_error_errno(errno, "Failed to execute '%s': %m", joined);
 }
 
-static int fork_and_exec_process(const char *child, char **argv, int fd) {
+static int fork_and_exec_process(char * const *argv, int fd) {
         _cleanup_free_ char *joined = NULL;
         pid_t child_pid;
         int r;
 
+        assert(!strv_isempty(argv));
+        assert(fd >= 0);
+
         joined = strv_join(argv, " ");
         if (!joined)
                 return log_oom();
@@ -228,15 +235,15 @@ static int fork_and_exec_process(const char *child, char **argv, int fd) {
                 return r;
         if (r == 0) {
                 /* In the child */
-                exec_process(child, argv, fd, 1);
+                (void) exec_process(argv, fd, 1);
                 _exit(EXIT_FAILURE);
         }
 
-        log_info("Spawned %s (%s) as PID " PID_FMT ".", child, joined, child_pid);
+        log_info("Spawned '%s' as PID " PID_FMT ".", joined, child_pid);
         return 0;
 }
 
-static int do_accept(const char *name, char **argv, int fd) {
+static int do_accept(char * const *argv, int fd) {
         _cleanup_free_ char *local = NULL, *peer = NULL;
         _cleanup_close_ int fd_accepted = -EBADF;
 
@@ -252,7 +259,7 @@ static int do_accept(const char *name, char **argv, int fd) {
         (void) getpeername_pretty(fd_accepted, true, &peer);
         log_info("Connection from %s to %s", strna(peer), strna(local));
 
-        return fork_and_exec_process(name, argv, fd_accepted);
+        return fork_and_exec_process(argv, fd_accepted);
 }
 
 /* SIGCHLD handler. */
@@ -477,14 +484,14 @@ static int run(int argc, char **argv) {
 
                 log_info("Communication attempt on fd %i.", event.data.fd);
                 if (arg_accept) {
-                        r = do_accept(exec_argv[0], exec_argv, event.data.fd);
+                        r = do_accept(exec_argv, event.data.fd);
                         if (r < 0)
                                 return r;
                 } else
                         break;
         }
 
-        return exec_process(exec_argv[0], exec_argv, SD_LISTEN_FDS_START, (size_t) n);
+        return exec_process(exec_argv, SD_LISTEN_FDS_START, (size_t) n);
 }
 
 DEFINE_MAIN_FUNCTION(run);