From: Yu Watanabe Date: Wed, 22 Jan 2025 01:49:07 +0000 (+0900) Subject: exec-util: use hash ops with destructor X-Git-Tag: v258-rc1~1512^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=60cc858e9d8238e8bb83a6c2dfcfbb4b94f4ad84;p=thirdparty%2Fsystemd.git exec-util: use hash ops with destructor --- diff --git a/src/shared/exec-util.c b/src/shared/exec-util.c index c673e344ee7..bc997a9383c 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;