dbus.connection: Release signals lock before calling _clean_up_signal_match().
commitffb1d3310d97bc4d86a09604649f334e3367816f
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Mon, 28 May 2007 18:45:59 +0000 (28 19:45 +0100)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Mon, 28 May 2007 18:45:59 +0000 (28 19:45 +0100)
treecd87f791228613a15491a3f7538a2e5cf2e5b5b7
parent03bcbff71d4bf112441dfd53300328c70d3a512c
dbus.connection: Release signals lock before calling _clean_up_signal_match().
This prevents a deadlock when a signal match that's tracking name owner
changes is removed, causing a match on NameOwnerChanged to be removed too.
(Debian bug#426412)

Also move more of the tree manipulation inside the lock, to be nice to
anyone attempting a port to implementations without a GIL (mainly IronPython),
and add a regression test for the above bug.
dbus/bus.py
dbus/connection.py
test/test-client.py
test/test-signals.py