]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: introduce unit_unwatch_pidref_done() helper function 31083/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 24 Jan 2024 07:11:28 +0000 (16:11 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 25 Jan 2024 15:31:02 +0000 (00:31 +0900)
No functional change, just refactoring.

src/core/mount.c
src/core/service.c
src/core/socket.c
src/core/swap.c
src/core/unit.c
src/core/unit.h

index d840414d1a3cba807ada9488f437f57e54974f80..6c3f4be981a48c1652edb2f6809c6705a593672f 100644 (file)
@@ -218,12 +218,7 @@ static int mount_arm_timer(Mount *m, bool relative, usec_t usec) {
 
 static void mount_unwatch_control_pid(Mount *m) {
         assert(m);
-
-        if (!pidref_is_set(&m->control_pid))
-                return;
-
-        unit_unwatch_pidref(UNIT(m), &m->control_pid);
-        pidref_done(&m->control_pid);
+        unit_unwatch_pidref_done(UNIT(m), &m->control_pid);
 }
 
 static void mount_parameters_done(MountParameters *p) {
index 5ebaddf18822ddf0cfa72f8691d8edb69ff99035..5ac866032c0b0232e0f7819ee8454591f4bd37bb 100644 (file)
@@ -152,22 +152,12 @@ static void service_init(Unit *u) {
 
 static void service_unwatch_control_pid(Service *s) {
         assert(s);
-
-        if (!pidref_is_set(&s->control_pid))
-                return;
-
-        unit_unwatch_pidref(UNIT(s), &s->control_pid);
-        pidref_done(&s->control_pid);
+        unit_unwatch_pidref_done(UNIT(s), &s->control_pid);
 }
 
 static void service_unwatch_main_pid(Service *s) {
         assert(s);
-
-        if (!pidref_is_set(&s->main_pid))
-                return;
-
-        unit_unwatch_pidref(UNIT(s), &s->main_pid);
-        pidref_done(&s->main_pid);
+        unit_unwatch_pidref_done(UNIT(s), &s->main_pid);
 }
 
 static void service_unwatch_pid_file(Service *s) {
index 57f6ab18db2c57708a5248da49d0b0f0527172d3..85bd757b7d0b8ae0b46c816c9cdea5d7e3d2ea08 100644 (file)
@@ -108,12 +108,7 @@ static void socket_init(Unit *u) {
 
 static void socket_unwatch_control_pid(Socket *s) {
         assert(s);
-
-        if (!pidref_is_set(&s->control_pid))
-                return;
-
-        unit_unwatch_pidref(UNIT(s), &s->control_pid);
-        pidref_done(&s->control_pid);
+        unit_unwatch_pidref_done(UNIT(s), &s->control_pid);
 }
 
 static void socket_cleanup_fd_list(SocketPort *p) {
index 0022a3d0ac744c8ce81c09d82473e689b6c40b10..33f6cb2536a0ff465fb627014e01e3959711a8d0 100644 (file)
@@ -152,12 +152,7 @@ static void swap_init(Unit *u) {
 
 static void swap_unwatch_control_pid(Swap *s) {
         assert(s);
-
-        if (!pidref_is_set(&s->control_pid))
-                return;
-
-        unit_unwatch_pidref(UNIT(s), &s->control_pid);
-        pidref_done(&s->control_pid);
+        unit_unwatch_pidref_done(UNIT(s), &s->control_pid);
 }
 
 static void swap_done(Unit *u) {
index 68b57845e01428d0cf5fb6a9488d52c09d2bd28e..12b36ebbfd8f1e1eed420f2b79044cb93e3d85ee 100644 (file)
@@ -2934,6 +2934,16 @@ void unit_unwatch_all_pids(Unit *u) {
         u->pids = set_free(u->pids);
 }
 
+void unit_unwatch_pidref_done(Unit *u, PidRef *pidref) {
+        assert(u);
+
+        if (!pidref_is_set(pidref))
+                return;
+
+        unit_unwatch_pidref(u, pidref);
+        pidref_done(pidref);
+}
+
 static void unit_tidy_watch_pids(Unit *u) {
         PidRef *except1, *except2, *e;
 
index f90a8d0b7f66d8092961dbb578dc9e6566eced62..976d79251a428e8f402ed7b06b6d826e739495c0 100644 (file)
@@ -936,6 +936,7 @@ int unit_watch_pid(Unit *u, pid_t pid, bool exclusive);
 void unit_unwatch_pidref(Unit *u, const PidRef *pid);
 void unit_unwatch_pid(Unit *u, pid_t pid);
 void unit_unwatch_all_pids(Unit *u);
+void unit_unwatch_pidref_done(Unit *u, PidRef *pidref);
 
 int unit_enqueue_rewatch_pids(Unit *u);
 void unit_dequeue_rewatch_pids(Unit *u);