X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmachine%2Fmachined.c;h=3ce51da90d2e827f62c09ae2a5cfcc309140e4c3;hb=554604b3073467af75dc94fac9e2343148603289;hp=3cf7f92f964d6c63cb775e4123a3f2ff600e6d98;hpb=1ee306e1248866617c96ed9f4263f375588ad838;p=elogind.git diff --git a/src/machine/machined.c b/src/machine/machined.c index 3cf7f92f9..3ce51da90 100644 --- a/src/machine/machined.c +++ b/src/machine/machined.c @@ -98,7 +98,7 @@ int manager_add_machine(Manager *m, const char *name, Machine **_machine) { } machine = machine_new(m, name); - if (!m) + if (!machine) return -ENOMEM; if (_machine) @@ -210,6 +210,18 @@ static int manager_connect_bus(Manager *m) { dbus_error_free(&error); } + dbus_bus_add_match(m->bus, + "type='signal'," + "sender='org.freedesktop.systemd1'," + "interface='org.freedesktop.systemd1.Manager'," + "member='UnitRemoved'," + "path='/org/freedesktop/systemd1'", + &error); + if (dbus_error_is_set(&error)) { + log_error("Failed to add match for UnitRemoved: %s", bus_error_message(&error)); + dbus_error_free(&error); + } + dbus_bus_add_match(m->bus, "type='signal'," "sender='org.freedesktop.systemd1'," @@ -221,6 +233,18 @@ static int manager_connect_bus(Manager *m) { dbus_error_free(&error); } + dbus_bus_add_match(m->bus, + "type='signal'," + "sender='org.freedesktop.systemd1'," + "interface='org.freedesktop.systemd1.Manager'," + "member='Reloading'," + "path='/org/freedesktop/systemd1'", + &error); + if (dbus_error_is_set(&error)) { + log_error("Failed to add match for Reloading: %s", bus_error_message(&error)); + dbus_error_free(&error); + } + r = bus_method_call_with_reply( m->bus, "org.freedesktop.systemd1", @@ -306,7 +330,7 @@ int manager_startup(Manager *m) { /* And start everything */ HASHMAP_FOREACH(machine, m->machines, i) - machine_start(machine); + machine_start(machine, NULL); return 0; }