From ea1e0bf10bbfb89388a3001afa0b4c28a64bb24e Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 24 Jan 2024 16:11:28 +0900 Subject: [PATCH] core: introduce unit_unwatch_pidref_done() helper function No functional change, just refactoring. --- src/core/mount.c | 7 +------ src/core/service.c | 14 ++------------ src/core/socket.c | 7 +------ src/core/swap.c | 7 +------ src/core/unit.c | 10 ++++++++++ src/core/unit.h | 1 + 6 files changed, 16 insertions(+), 30 deletions(-) diff --git a/src/core/mount.c b/src/core/mount.c index d840414d1a3..6c3f4be981a 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -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) { diff --git a/src/core/service.c b/src/core/service.c index 5ebaddf1882..5ac866032c0 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -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) { diff --git a/src/core/socket.c b/src/core/socket.c index 57f6ab18db2..85bd757b7d0 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -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) { diff --git a/src/core/swap.c b/src/core/swap.c index 0022a3d0ac7..33f6cb2536a 100644 --- a/src/core/swap.c +++ b/src/core/swap.c @@ -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) { diff --git a/src/core/unit.c b/src/core/unit.c index 68b57845e01..12b36ebbfd8 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -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; diff --git a/src/core/unit.h b/src/core/unit.h index f90a8d0b7f6..976d79251a4 100644 --- a/src/core/unit.h +++ b/src/core/unit.h @@ -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); -- 2.47.3