summaryrefslogtreecommitdiffstats
path: root/hcid/dbus-service.c
diff options
context:
space:
mode:
Diffstat (limited to 'hcid/dbus-service.c')
-rw-r--r--hcid/dbus-service.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/hcid/dbus-service.c b/hcid/dbus-service.c
index 27564642..2882c452 100644
--- a/hcid/dbus-service.c
+++ b/hcid/dbus-service.c
@@ -341,6 +341,7 @@ static void service_died(GPid pid, gint status, gpointer data)
static DBusHandlerResult service_filter(DBusConnection *conn,
DBusMessage *msg, void *data)
{
+ DBusError err;
struct service *service = data;
const char *name, *old, *new;
unsigned long pid;
@@ -370,7 +371,12 @@ static DBusHandlerResult service_filter(DBusConnection *conn,
service->bus_name = strdup(new);
- dbus_bus_remove_match(conn, NAME_MATCH, NULL);
+ dbus_error_init(&err);
+ dbus_bus_remove_match(conn, NAME_MATCH, &err);
+ if (dbus_error_is_set(&err)) {
+ error("Remove match \"%s\" failed: %s" NAME_MATCH, err.message);
+ dbus_error_free(&err);
+ }
dbus_connection_remove_filter(conn, service_filter, service);
msg = dbus_message_new_signal(service->object_path,
@@ -447,6 +453,7 @@ static DBusHandlerResult start(DBusConnection *conn,
DBusMessage *msg, void *data)
{
GError *err = NULL;
+ DBusError derr;
struct service *service = data;
char **argv;
int argc;
@@ -481,7 +488,12 @@ static DBusHandlerResult start(DBusConnection *conn,
kill(service->pid, SIGKILL);
}
- dbus_bus_add_match(conn, NAME_MATCH, NULL);
+ dbus_error_init(&derr);
+ dbus_bus_add_match(conn, NAME_MATCH, &derr);
+ if (dbus_error_is_set(&derr)) {
+ error("Add match \"%s\" failed: %s", derr.message);
+ dbus_error_free(&derr);
+ }
service->startup_timer = g_timeout_add(STARTUP_TIMEOUT,
service_startup_timeout,