From a15706f16167d14d958213840f5082dfdafd4ae7 Mon Sep 17 00:00:00 2001 From: Claudio Takahasi Date: Fri, 27 Oct 2006 16:56:27 +0000 Subject: Return an error if the service is already running --- hcid/dbus-service.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hcid/dbus-service.c b/hcid/dbus-service.c index 53134a2c..dc1f7552 100644 --- a/hcid/dbus-service.c +++ b/hcid/dbus-service.c @@ -337,7 +337,14 @@ static DBusHandlerResult start(DBusConnection *conn, DBusPendingCall *pending; struct service_call *call_data; struct service_agent *agent = data; - DBusMessage *forward = dbus_message_copy(msg); + DBusMessage *forward; + + if (agent->running) + return error_failed(conn, msg, EPERM); + + forward = dbus_message_copy(msg); + if (!forward) + return DBUS_HANDLER_RESULT_NEED_MEMORY; dbus_message_set_destination(forward, agent->id); dbus_message_set_interface(forward, "org.bluez.ServiceAgent"); -- cgit