dbus: Give NULL as the error parameter to dbus_bus_remove_match().

We didn't do anything anyway in case of failures. When we
give NULL as the error, dbus_bus_remove_match() can act
asynchronously, so it becomes faster. Also, the bus daemon
can avoid sending any replies, which reduces the amount of
traffic.
This commit is contained in:
Tanu Kaskinen 2012-01-01 19:44:26 +02:00
parent 6450ac2e6a
commit 7e4eef2179
2 changed files with 6 additions and 16 deletions

View file

@ -344,7 +344,7 @@ static int add_matches(struct userdata *u, pa_bool_t add) {
goto finish; goto finish;
} }
} else } else
dbus_bus_remove_match(pa_dbus_connection_get(u->dbus_connection), filter1, &e); dbus_bus_remove_match(pa_dbus_connection_get(u->dbus_connection), filter1, NULL);
if (add) { if (add) {
@ -352,11 +352,11 @@ static int add_matches(struct userdata *u, pa_bool_t add) {
if (dbus_error_is_set(&e)) { if (dbus_error_is_set(&e)) {
pa_log("dbus_bus_add_match(%s) failed: %s", filter2, e.message); pa_log("dbus_bus_add_match(%s) failed: %s", filter2, e.message);
dbus_bus_remove_match(pa_dbus_connection_get(u->dbus_connection), filter2, &e); dbus_bus_remove_match(pa_dbus_connection_get(u->dbus_connection), filter2, NULL);
goto finish; goto finish;
} }
} else } else
dbus_bus_remove_match(pa_dbus_connection_get(u->dbus_connection), filter2, &e); dbus_bus_remove_match(pa_dbus_connection_get(u->dbus_connection), filter2, NULL);
if (add) { if (add) {
pa_assert_se(dbus_connection_add_filter(pa_dbus_connection_get(u->dbus_connection), filter_func, u, NULL)); pa_assert_se(dbus_connection_add_filter(pa_dbus_connection_get(u->dbus_connection), filter_func, u, NULL));

View file

@ -367,13 +367,8 @@ fail:
va_end(ap); va_end(ap);
va_start(ap, error); va_start(ap, error);
for (; k > 0; k--) { for (; k > 0; k--) {
DBusError e;
pa_assert_se(t = va_arg(ap, const char*)); pa_assert_se(t = va_arg(ap, const char*));
dbus_bus_remove_match(c, t, NULL);
dbus_error_init(&e);
dbus_bus_remove_match(c, t, &e);
dbus_error_free(&e);
} }
va_end(ap); va_end(ap);
@ -383,17 +378,12 @@ fail:
void pa_dbus_remove_matches(DBusConnection *c, ...) { void pa_dbus_remove_matches(DBusConnection *c, ...) {
const char *t; const char *t;
va_list ap; va_list ap;
DBusError error;
pa_assert(c); pa_assert(c);
dbus_error_init(&error);
va_start(ap, c); va_start(ap, c);
while ((t = va_arg(ap, const char*))) { while ((t = va_arg(ap, const char*)))
dbus_bus_remove_match(c, t, &error); dbus_bus_remove_match(c, t, NULL);
dbus_error_free(&error);
}
va_end(ap); va_end(ap);
} }