X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmachine%2Fmachined.c;h=c7c4ecc375d83cdab2855b3debc6278872a8f877;hb=6797c324a653f119a3d7133122648aaa4878ddd6;hp=3cf7f92f964d6c63cb775e4123a3f2ff600e6d98;hpb=1ee306e1248866617c96ed9f4263f375588ad838;p=elogind.git diff --git a/src/machine/machined.c b/src/machine/machined.c index 3cf7f92f9..c7c4ecc37 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",