summaryrefslogtreecommitdiff
path: root/src/service.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-08-20 02:26:05 +0200
committerLennart Poettering <lennart@poettering.net>2010-08-20 02:31:54 +0200
commitc4e2ceae941d02de5574becbfd3b4db15de2eda3 (patch)
treec0bda809e0b860f5b0f8e66942dd486c17f2e309 /src/service.c
parentd06dacd0020af7e31ff6089deff339b00ed979e3 (diff)
dbus: follow standardized fdo PropertiesChanged signal spec
Diffstat (limited to 'src/service.c')
-rw-r--r--src/service.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index 66e233a669..d2ef1ad907 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2454,6 +2454,9 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
}
}
}
+
+ /* Notify clients about changed exit status */
+ unit_add_to_dbus_queue(u);
}
static void service_timer_event(Unit *u, uint64_t elapsed, Watch* w) {
@@ -2610,6 +2613,9 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) {
}
}
+
+ /* Notify clients about changed status or main pid */
+ unit_add_to_dbus_queue(u);
}
static int service_enumerate(Manager *m) {
@@ -2944,7 +2950,9 @@ const UnitVTable service_vtable = {
.bus_name_owner_change = service_bus_name_owner_change,
.bus_query_pid_done = service_bus_query_pid_done,
+ .bus_interface = "org.freedesktop.systemd1.Service",
.bus_message_handler = bus_service_message_handler,
+ .bus_invalidating_properties = bus_service_invalidating_properties,
.enumerate = service_enumerate
};