diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2006-10-26 16:56:14 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2006-10-26 16:56:14 +0000 |
commit | 9a50d4ad1d08801d39846cff52e4c09fb0ccacea (patch) | |
tree | e34bc967159637fe0cf6ea7805ab85e8faa83bb9 /hcid/dbus-service.c | |
parent | 2dfe049b931c4e61d5fe57b4d5ff24226aa317ee (diff) |
Must send ServiceUnregistered signal when agent exits
Diffstat (limited to 'hcid/dbus-service.c')
-rw-r--r-- | hcid/dbus-service.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/hcid/dbus-service.c b/hcid/dbus-service.c index 20fe56f8..67e79e08 100644 --- a/hcid/dbus-service.c +++ b/hcid/dbus-service.c @@ -146,6 +146,7 @@ mem_fail: static void service_agent_exit(const char *name, void *data) { DBusConnection *conn = data; + DBusMessage *message; struct slist *l = services; struct service_agent *agent; const char *path; @@ -160,6 +161,12 @@ static void service_agent_exit(const char *name, void *data) service_agent_free(agent); dbus_connection_unregister_object_path (conn, path); + + message = dbus_message_new_signal(BASE_PATH, MANAGER_INTERFACE, + "ServiceUnregistered"); + dbus_message_append_args(message, DBUS_TYPE_STRING, &path, + DBUS_TYPE_INVALID); + send_message_and_unref(conn, message); } slist_foreach(services, (slist_func_t) free, NULL); |