chiark / gitweb /
machine: move symbols referenced by shared code from main to shared file
authorKay Sievers <kay@vrfy.org>
Thu, 7 Nov 2013 13:56:31 +0000 (14:56 +0100)
committerKay Sievers <kay@vrfy.org>
Thu, 7 Nov 2013 13:56:31 +0000 (14:56 +0100)
With --enable-address-sanitizer we get:
  machined-dbus.c:228: undefined reference to 'manager_add_machine'

src/machine/machined-dbus.c
src/machine/machined.c

index 11256da9898aaef14a87ce45aa7ca18cbb0f731e..d60be0d3ba02db8b88755b047f7fb47ec9211c51 100644 (file)
@@ -688,3 +688,44 @@ int manager_job_is_active(Manager *manager, const char *path) {
 
         return true;
 }
+
+int manager_get_machine_by_pid(Manager *m, pid_t pid, Machine **machine) {
+        _cleanup_free_ char *unit = NULL;
+        Machine *mm;
+        int r;
+
+        assert(m);
+        assert(pid >= 1);
+        assert(machine);
+
+        r = cg_pid_get_unit(pid, &unit);
+        if (r < 0)
+                mm = hashmap_get(m->machine_leaders, UINT_TO_PTR(pid));
+        else
+                mm = hashmap_get(m->machine_units, unit);
+
+        if (!mm)
+                return 0;
+
+        *machine = mm;
+        return 1;
+}
+
+int manager_add_machine(Manager *m, const char *name, Machine **_machine) {
+        Machine *machine;
+
+        assert(m);
+        assert(name);
+
+        machine = hashmap_get(m->machines, name);
+        if (!machine) {
+                machine = machine_new(m, name);
+                if (!machine)
+                        return -ENOMEM;
+        }
+
+        if (_machine)
+                *_machine = machine;
+
+        return 0;
+}
index a5f529384befd2011e660b75148e0e723acc3cef..d6dd984e7673947a34bfa4c75f2dc7c29be9d739 100644 (file)
@@ -80,47 +80,6 @@ void manager_free(Manager *m) {
         free(m);
 }
 
-int manager_add_machine(Manager *m, const char *name, Machine **_machine) {
-        Machine *machine;
-
-        assert(m);
-        assert(name);
-
-        machine = hashmap_get(m->machines, name);
-        if (!machine) {
-                machine = machine_new(m, name);
-                if (!machine)
-                        return -ENOMEM;
-        }
-
-        if (_machine)
-                *_machine = machine;
-
-        return 0;
-}
-
-int manager_get_machine_by_pid(Manager *m, pid_t pid, Machine **machine) {
-        _cleanup_free_ char *unit = NULL;
-        Machine *mm;
-        int r;
-
-        assert(m);
-        assert(pid >= 1);
-        assert(machine);
-
-        r = cg_pid_get_unit(pid, &unit);
-        if (r < 0)
-                mm = hashmap_get(m->machine_leaders, UINT_TO_PTR(pid));
-        else
-                mm = hashmap_get(m->machine_units, unit);
-
-        if (!mm)
-                return 0;
-
-        *machine = mm;
-        return 1;
-}
-
 int manager_enumerate_machines(Manager *m) {
         _cleanup_closedir_ DIR *d = NULL;
         struct dirent *de;