From 60cc858e9d8238e8bb83a6c2dfcfbb4b94f4ad84 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 22 Jan 2025 10:49:07 +0900 Subject: [PATCH] exec-util: use hash ops with destructor --- src/shared/exec-util.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/shared/exec-util.c b/src/shared/exec-util.c index c673e344ee..bc997a9383 100644 --- a/src/shared/exec-util.c +++ b/src/shared/exec-util.c @@ -99,7 +99,7 @@ static int do_execute( char *envp[], ExecDirFlags flags) { - _cleanup_hashmap_free_free_ Hashmap *pids = NULL; + _cleanup_hashmap_free_ Hashmap *pids = NULL; bool parallel_execution; int r; @@ -114,12 +114,6 @@ static int do_execute( parallel_execution = FLAGS_SET(flags, EXEC_DIR_PARALLEL) && !callbacks; - if (parallel_execution) { - pids = hashmap_new(NULL); - if (!pids) - return log_oom(); - } - /* Abort execution of this process after the timeout. We simply rely on SIGALRM as * default action terminating the process, and turn on alarm(). */ @@ -176,7 +170,7 @@ static int do_execute( continue; if (parallel_execution) { - r = hashmap_put(pids, PID_TO_PTR(pid), t); + r = hashmap_ensure_put(&pids, &trivial_hash_ops_value_free, PID_TO_PTR(pid), t); if (r < 0) return log_oom(); t = NULL;