]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
machined-dbus: move manager_add_machine() and _get_machine_by_pid() to -core 34515/head
authorMike Yuan <me@yhndnzj.com>
Fri, 20 Sep 2024 22:15:15 +0000 (00:15 +0200)
committerMike Yuan <me@yhndnzj.com>
Fri, 20 Sep 2024 22:35:38 +0000 (00:35 +0200)
src/machine/machined-core.c
src/machine/machined-dbus.c

index e3072a5503fe28eeac25bbcb45308956af084cdf..1a840a6a37c9bae0ef2ef00fd0aa7ab9f09c3b77 100644 (file)
@@ -1,9 +1,62 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 
+#include "cgroup-util.h"
 #include "machined.h"
+#include "process-util.h"
 #include "strv.h"
 #include "user-util.h"
 
+int manager_get_machine_by_pid(Manager *m, pid_t pid, Machine **ret) {
+        Machine *mm;
+        int r;
+
+        assert(m);
+        assert(pid_is_valid(pid));
+        assert(ret);
+
+        mm = hashmap_get(m->machines_by_leader, &PIDREF_MAKE_FROM_PID(pid));
+        if (!mm) {
+                _cleanup_free_ char *unit = NULL;
+
+                r = cg_pid_get_unit(pid, &unit);
+                if (r >= 0)
+                        mm = hashmap_get(m->machines_by_unit, unit);
+        }
+        if (!mm) {
+                *ret = NULL;
+                return 0;
+        }
+
+        *ret = mm;
+        return 1;
+}
+
+int manager_add_machine(Manager *m, const char *name, Machine **ret) {
+        Machine *machine;
+        int r;
+
+        assert(m);
+        assert(name);
+
+        machine = hashmap_get(m->machines, name);
+        if (!machine) {
+                r = machine_new(_MACHINE_CLASS_INVALID, name, &machine);
+                if (r < 0)
+                        return r;
+
+                r = machine_link(m, machine);
+                if (r < 0) {
+                        machine_free(machine);
+                        return r;
+                }
+        }
+
+        if (ret)
+                *ret = machine;
+
+        return 0;
+}
+
 int manager_find_machine_for_uid(Manager *m, uid_t uid, Machine **ret_machine, uid_t *ret_internal_uid) {
         Machine *machine;
         int r;
index a44d8e759865b0cd48625021289585b9b11b4693..e86be6d4d5724cd804f7b7d03bc65daadd8603d9 100644 (file)
@@ -1463,54 +1463,3 @@ int manager_job_is_active(Manager *manager, const char *path) {
 
         return true;
 }
-
-int manager_get_machine_by_pid(Manager *m, pid_t pid, Machine **ret) {
-        Machine *mm;
-        int r;
-
-        assert(m);
-        assert(pid_is_valid(pid));
-        assert(ret);
-
-        mm = hashmap_get(m->machines_by_leader, &PIDREF_MAKE_FROM_PID(pid));
-        if (!mm) {
-                _cleanup_free_ char *unit = NULL;
-
-                r = cg_pid_get_unit(pid, &unit);
-                if (r >= 0)
-                        mm = hashmap_get(m->machines_by_unit, unit);
-        }
-        if (!mm) {
-                *ret = NULL;
-                return 0;
-        }
-
-        *ret = mm;
-        return 1;
-}
-
-int manager_add_machine(Manager *m, const char *name, Machine **ret) {
-        Machine *machine;
-        int r;
-
-        assert(m);
-        assert(name);
-
-        machine = hashmap_get(m->machines, name);
-        if (!machine) {
-                r = machine_new(_MACHINE_CLASS_INVALID, name, &machine);
-                if (r < 0)
-                        return r;
-
-                r = machine_link(m, machine);
-                if (r < 0) {
-                        machine_free(machine);
-                        return r;
-                }
-        }
-
-        if (ret)
-                *ret = machine;
-
-        return 0;
-}