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);  | 
