mirror of
https://github.com/systemd/systemd.git
synced 2025-03-19 22:50:17 +03:00
machine: move symbols referenced by shared code from main to shared file
With --enable-address-sanitizer we get: machined-dbus.c:228: undefined reference to 'manager_add_machine'
This commit is contained in:
parent
27e72d6b22
commit
ab49725fd8
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user