From: Patrik Flykt Date: Wed, 20 Feb 2013 08:49:48 +0000 (+0200) Subject: client: Wait for a reply when removing service X-Git-Tag: 1.12~48 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5b15d266c4c89bcb677509d3e72c1d74e9eca969;p=platform%2Fupstream%2Fconnman.git client: Wait for a reply when removing service --- diff --git a/client/services.c b/client/services.c index c69a3de..b6d6775 100644 --- a/client/services.c +++ b/client/services.c @@ -585,18 +585,12 @@ int set_service_property(DBusConnection *connection, DBusMessage *message, int remove_service(DBusConnection *connection, DBusMessage *message, char *name) { - struct service_data service; DBusMessage *message_send; const char *path_name; char *path; + DBusError err; - path_name = find_service(connection, message, name, &service); - if (path_name == NULL) - return -ENXIO; - - if (service.favorite == FALSE) - return 0; - + path_name = strip_service_path(name); path = g_strdup_printf("/net/connman/service/%s", path_name); message_send = dbus_message_new_method_call(CONNMAN_SERVICE, path, CONNMAN_SERVICE_INTERFACE, @@ -606,7 +600,14 @@ int remove_service(DBusConnection *connection, DBusMessage *message, return -ENOMEM; } - dbus_connection_send(connection, message_send, NULL); + dbus_error_init(&err); + dbus_connection_send_with_reply_and_block(connection, message_send, + -1, &err); + if (dbus_error_is_set(&err) == TRUE) { + printf("Error '%s' %s\n", path, err.message); + dbus_error_free(&err); + } + dbus_message_unref(message_send); g_free(path);