]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tree-wide: port various places to use TAKE_PID()
authorLennart Poettering <lennart@poettering.net>
Wed, 3 Nov 2021 14:56:09 +0000 (15:56 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 3 Nov 2021 15:36:09 +0000 (16:36 +0100)
14 files changed:
src/core/execute.c
src/core/mount.c
src/core/service.c
src/core/socket.c
src/core/swap.c
src/import/export-tar.c
src/import/import-tar.c
src/import/pull-common.c
src/import/pull-tar.c
src/libsystemd/sd-bus/sd-bus.c
src/nspawn/nspawn.c
src/shared/pager.c
src/shared/spawn-ask-password-agent.c
src/shared/spawn-polkit-agent.c

index bf4a66e3bd55f1ab3dc8d1b6f57381208667c1db..d8bbc694b4672a0eee6a372beab7fefa27cb2d9b 100644 (file)
@@ -2248,8 +2248,7 @@ static int setup_private_users(uid_t ouid, gid_t ogid, uid_t uid, gid_t gid) {
         if (n != 0) /* on success we should have read 0 bytes */
                 return -EIO;
 
-        r = wait_for_terminate_and_check("(sd-userns)", pid, 0);
-        pid = 0;
+        r = wait_for_terminate_and_check("(sd-userns)", TAKE_PID(pid), 0);
         if (r < 0)
                 return r;
         if (r != EXIT_SUCCESS) /* If something strange happened with the child, let's consider this fatal, too */
index c4d7f981c6d1e08a2cf752150798f331156f84d2..321c7986b3ccc39365baa969534e468f08859359 100644 (file)
@@ -236,8 +236,7 @@ static void mount_unwatch_control_pid(Mount *m) {
         if (m->control_pid <= 0)
                 return;
 
-        unit_unwatch_pid(UNIT(m), m->control_pid);
-        m->control_pid = 0;
+        unit_unwatch_pid(UNIT(m), TAKE_PID(m->control_pid));
 }
 
 static void mount_parameters_done(MountParameters *p) {
index 16d945671962e8049a2be7f861759c1fd33aae27..4b99311e5acf27abc2f61ec5f3aa4e8d764024fa 100644 (file)
@@ -130,8 +130,7 @@ static void service_unwatch_control_pid(Service *s) {
         if (s->control_pid <= 0)
                 return;
 
-        unit_unwatch_pid(UNIT(s), s->control_pid);
-        s->control_pid = 0;
+        unit_unwatch_pid(UNIT(s), TAKE_PID(s->control_pid));
 }
 
 static void service_unwatch_main_pid(Service *s) {
@@ -140,8 +139,7 @@ static void service_unwatch_main_pid(Service *s) {
         if (s->main_pid <= 0)
                 return;
 
-        unit_unwatch_pid(UNIT(s), s->main_pid);
-        s->main_pid = 0;
+        unit_unwatch_pid(UNIT(s), TAKE_PID(s->main_pid));
 }
 
 static void service_unwatch_pid_file(Service *s) {
index 81178e3de267e9d8f608247af89b772a3943ef15..ba3df329977a30dbce0b0de87da8b227df9051ef 100644 (file)
@@ -109,8 +109,7 @@ static void socket_unwatch_control_pid(Socket *s) {
         if (s->control_pid <= 0)
                 return;
 
-        unit_unwatch_pid(UNIT(s), s->control_pid);
-        s->control_pid = 0;
+        unit_unwatch_pid(UNIT(s), TAKE_PID(s->control_pid));
 }
 
 static void socket_cleanup_fd_list(SocketPort *p) {
index 29c63118ac6c6185c6fce1e1795bdbedcd86c2f1..de72ac9232ad58a162834ad4133761418dda3a40 100644 (file)
@@ -155,8 +155,7 @@ static void swap_unwatch_control_pid(Swap *s) {
         if (s->control_pid <= 0)
                 return;
 
-        unit_unwatch_pid(UNIT(s), s->control_pid);
-        s->control_pid = 0;
+        unit_unwatch_pid(UNIT(s), TAKE_PID(s->control_pid));
 }
 
 static void swap_done(Unit *u) {
index b734c3004a7158deca8ea529c4cf5c3efc6ffb9f..6dc2e017331224c59f44b216f84e0599a000f6c5 100644 (file)
@@ -147,8 +147,7 @@ static int tar_export_finish(TarExport *e) {
         assert(e->tar_fd >= 0);
 
         if (e->tar_pid > 0) {
-                r = wait_for_terminate_and_check("tar", e->tar_pid, WAIT_LOG);
-                e->tar_pid = 0;
+                r = wait_for_terminate_and_check("tar", TAKE_PID(e->tar_pid), WAIT_LOG);
                 if (r < 0)
                         return r;
                 if (r != EXIT_SUCCESS)
index bb67862d620039bb6e7bdcb1379d81af127f9815..c8916da11a31abdfc38559b73c946ae0ab4593ea 100644 (file)
@@ -167,8 +167,7 @@ static int tar_import_finish(TarImport *i) {
         i->tar_fd = safe_close(i->tar_fd);
 
         if (i->tar_pid > 0) {
-                r = wait_for_terminate_and_check("tar", i->tar_pid, WAIT_LOG);
-                i->tar_pid = 0;
+                r = wait_for_terminate_and_check("tar", TAKE_PID(i->tar_pid), WAIT_LOG);
                 if (r < 0)
                         return r;
                 if (r != EXIT_SUCCESS)
index 39067933b5eac6d09883564d8e23e9c4328d0c37..adb366222dae8528218e24765f368edf4096417a 100644 (file)
@@ -482,8 +482,7 @@ static int verify_gpg(
 
         gpg_pipe[1] = safe_close(gpg_pipe[1]);
 
-        r = wait_for_terminate_and_check("gpg", pid, WAIT_LOG_ABNORMAL);
-        pid = 0;
+        r = wait_for_terminate_and_check("gpg", TAKE_PID(pid), WAIT_LOG_ABNORMAL);
         if (r < 0)
                 goto finish;
         if (r != EXIT_SUCCESS)
index 06d336bca91ca717f82fbc94204b8e1c84d36f3e..bce49cf4e5237e70970e14fb1bab1fe75a92f074 100644 (file)
@@ -369,8 +369,7 @@ static void tar_pull_job_on_finished(PullJob *j) {
         pull_job_close_disk_fd(i->settings_job);
 
         if (i->tar_pid > 0) {
-                r = wait_for_terminate_and_check("tar", i->tar_pid, WAIT_LOG);
-                i->tar_pid = 0;
+                r = wait_for_terminate_and_check("tar", TAKE_PID(i->tar_pid), WAIT_LOG);
                 if (r < 0)
                         goto finish;
                 if (r != EXIT_SUCCESS) {
index 96d5b9605e0db2da740104a2d5bd985d1499f97c..9ebf7b03c019157290615ad6bd223a269a72bb73 100644 (file)
@@ -1082,10 +1082,10 @@ static int bus_parse_next_address(sd_bus *b) {
 }
 
 static void bus_kill_exec(sd_bus *bus) {
-        if (pid_is_valid(bus->busexec_pid) > 0) {
-                sigterm_wait(bus->busexec_pid);
-                bus->busexec_pid = 0;
-        }
+        if (!pid_is_valid(bus->busexec_pid))
+                return;
+
+        sigterm_wait(TAKE_PID(bus->busexec_pid));
 }
 
 static int bus_start_address(sd_bus *b) {
index 8c0bc99d727205d7a80ff3e6be59e4ccf76b40af..09c79b22e709a65e71eac1384e8177e56a5acf8d 100644 (file)
@@ -5248,8 +5248,7 @@ static int run_container(
                 }
         }
 
-        r = wait_for_container(*pid, &container_status);
-        *pid = 0;
+        r = wait_for_container(TAKE_PID(*pid), &container_status);
 
         /* Tell machined that we are gone. */
         if (bus)
index 90c347f8c0d5407871e69b3f49f9440179336440..541806533362f5d63207f6ec8377a9c9605be3cc 100644 (file)
@@ -286,7 +286,7 @@ void pager_close(void) {
         stdout_redirected = stderr_redirected = false;
 
         (void) kill(pager_pid, SIGCONT);
-        (void) wait_for_terminate(pager_pid, NULL);
+        (void) wait_for_terminate(TAKE_PID(pager_pid), NULL);
         pager_pid = 0;
 }
 
index 38fab212034c787cc2dd98a86849cf79a70380d1..902d7543a597312658ca7e2705e4e82b8794de4d 100644 (file)
@@ -43,9 +43,7 @@ void ask_password_agent_close(void) {
                 return;
 
         /* Inform agent that we are done */
-        (void) kill_and_sigcont(agent_pid, SIGTERM);
-        (void) wait_for_terminate(agent_pid, NULL);
-        agent_pid = 0;
+        sigterm_wait(TAKE_PID(agent_pid));
 }
 
 int ask_password_agent_open_if_enabled(BusTransport transport, bool ask_password) {
index cd0b4601da1159f979713689b1d10401e9318977..7fa75081783a5fcecc7001959f05d6d0f5144a4b 100644 (file)
@@ -69,9 +69,7 @@ void polkit_agent_close(void) {
                 return;
 
         /* Inform agent that we are done */
-        (void) kill_and_sigcont(agent_pid, SIGTERM);
-        (void) wait_for_terminate(agent_pid, NULL);
-        agent_pid = 0;
+        sigterm_wait(TAKE_PID(agent_pid));
 }
 
 #else