Multithreaded DBus using glib quirkyness

Havoc Pennington hp@redhat.com
Sat, 28 Jun 2003 17:50:34 -0400


Hi,

Note that dbus_bus_get() returns the same connection each time, so you
are calling setup_with_g_main() for that same connection over and
over, and you have multiple handlers handling the messages on it.
This may be part of the problem.

Other than that, it will just take some debugging; put things in a
debugger, see if they deadlock and where, set DBUS_VERBOSE=1 and see
if that's informative, etc.

It's a good API point that we probably need some way to hook GLib into
the dbus-bus.c code such that those global connections get set up with
the main loop exactly once.

Havoc