[pulseaudio-commits] [SCM] PulseAudio Sound Server branch, master, updated. 49f09d6d0eadd67d75190a9001fe715dc486cd36

Lennart Poettering gitmailer-noreply at 0pointer.de
Wed Jul 23 17:22:02 PDT 2008


This is an automated email from the git hooks/post-receive script. It was
generated because of a push to the "PulseAudio Sound Server" repository.

The master branch has been updated
      from  23a3c55c5152977a0f4addcce9f5d4085a8105a4 (commit)

- Log -----------------------------------------------------------------
49f09d6... fix destruction of dbus modules: make sure we don't leave filter function registered after unreffing the dbus connection
-----------------------------------------------------------------------

Summary of changes:
 src/modules/module-bt-proximity.c |    1 -
 src/modules/module-console-kit.c  |   11 ++++++++++-
 src/modules/module-hal-detect.c   |   14 +++++++++++++-
 3 files changed, 23 insertions(+), 3 deletions(-)

-----------------------------------------------------------------------

commit 49f09d6d0eadd67d75190a9001fe715dc486cd36
Author: Lennart Poettering <lennart at poettering.net>
Date:   Thu Jul 24 02:21:58 2008 +0200

    fix destruction of dbus modules: make sure we don't leave filter function registered after unreffing the dbus connection

diff --git a/src/modules/module-bt-proximity.c b/src/modules/module-bt-proximity.c
index 77b9586..f924c3c 100644
--- a/src/modules/module-bt-proximity.c
+++ b/src/modules/module-bt-proximity.c
@@ -358,7 +358,6 @@ static int add_matches(struct userdata *u, pa_bool_t add) {
     } else
         dbus_bus_remove_match(pa_dbus_connection_get(u->dbus_connection), filter2, &e);
 
-
     if (add)
         pa_assert_se(dbus_connection_add_filter(pa_dbus_connection_get(u->dbus_connection), filter_func, u, NULL));
     else
diff --git a/src/modules/module-console-kit.c b/src/modules/module-console-kit.c
index 829b43b..3578212 100644
--- a/src/modules/module-console-kit.c
+++ b/src/modules/module-console-kit.c
@@ -341,8 +341,17 @@ void pa__done(pa_module *m) {
         pa_hashmap_free(u->sessions, NULL, NULL);
     }
 
-    if (u->connection)
+    if (u->connection) {
+        DBusError error;
+        dbus_error_init(&error);
+
+        dbus_bus_remove_match(pa_dbus_connection_get(u->connection), "type='signal',sender='org.freedesktop.ConsoleKit', interface='org.freedesktop.ConsoleKit.Seat'", &error);
+        dbus_error_free(&error);
+
+        dbus_connection_remove_filter(pa_dbus_connection_get(u->connection), filter_cb, u);
+
         pa_dbus_connection_unref(u->connection);
+    }
 
     pa_xfree(u);
 }
diff --git a/src/modules/module-hal-detect.c b/src/modules/module-hal-detect.c
index 19430a3..ec06496 100644
--- a/src/modules/module-hal-detect.c
+++ b/src/modules/module-hal-detect.c
@@ -842,8 +842,20 @@ void pa__done(pa_module *m) {
     if (u->devices)
         pa_hashmap_free(u->devices, hal_device_free_cb, NULL);
 
-    if (u->connection)
+    if (u->connection) {
+        DBusError error;
+        dbus_error_init(&error);
+
+        dbus_bus_remove_match(pa_dbus_connection_get(u->connection), "type='signal',sender='org.freedesktop.Hal', interface='org.freedesktop.Hal.Device.AccessControl'", &error);
+        dbus_error_free(&error);
+
+        dbus_bus_remove_match(pa_dbus_connection_get(u->connection), "type='signal',interface='org.pulseaudio.Server'", &error);
+        dbus_error_free(&error);
+
+        dbus_connection_remove_filter(pa_dbus_connection_get(u->connection), filter_cb, u);
+
         pa_dbus_connection_unref(u->connection);
+    }
 
     pa_xfree(u);
 }

-- 
hooks/post-receive
PulseAudio Sound Server



More information about the pulseaudio-commits mailing list