From 147f1d7b2615a1707daad6f990c9bbc6585141fb Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 3 Apr 2025 00:08:07 +0900 Subject: [PATCH] process-util: make wait_for_terminate() as trivial wrapper of its PidRef version --- src/basic/process-util.c | 23 ++--------------------- src/basic/process-util.h | 2 +- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/src/basic/process-util.c b/src/basic/process-util.c index df547ccada3..d3c43c3ba4e 100644 --- a/src/basic/process-util.c +++ b/src/basic/process-util.c @@ -879,27 +879,8 @@ int get_process_umask(pid_t pid, mode_t *ret) { return parse_mode(m, ret); } -int wait_for_terminate(pid_t pid, siginfo_t *status) { - siginfo_t dummy; - - assert(pid >= 1); - - if (!status) - status = &dummy; - - for (;;) { - zero(*status); - - if (waitid(P_PID, pid, status, WEXITED) < 0) { - - if (errno == EINTR) - continue; - - return negative_errno(); - } - - return 0; - } +int wait_for_terminate(pid_t pid, siginfo_t *ret) { + return pidref_wait_for_terminate(&PIDREF_MAKE_FROM_PID(pid), ret); } /* diff --git a/src/basic/process-util.h b/src/basic/process-util.h index 910fc604cd3..fd24ee41ce2 100644 --- a/src/basic/process-util.h +++ b/src/basic/process-util.h @@ -65,7 +65,7 @@ static inline bool SIGINFO_CODE_IS_DEAD(int code) { return IN_SET(code, CLD_EXITED, CLD_KILLED, CLD_DUMPED); } -int wait_for_terminate(pid_t pid, siginfo_t *status); +int wait_for_terminate(pid_t pid, siginfo_t *ret); typedef enum WaitFlags { WAIT_LOG_ABNORMAL = 1 << 0, -- 2.47.3