Blocking behavior of synchronous calls
Michael Meeks
michael.meeks at novell.com
Fri Nov 21 09:09:50 PST 2008
On Fri, 2008-11-21 at 10:53 -0500, Schmottlach, Glenn wrote:
> It appears that DBus is indeed thread-safe (I see locking/unlocking
> going on all over the place) but it’s not clear to me who owns the
> thread. Basically, when user code blocks on a synchronous call, is the
> main loop really blocked?
Yes, it's really blocked: this is really a feature that helps you
though ;-) dealing with deep re-enterancy can be a QA nightmare. Also,
FWIW - I tried to get some multiple-threads-sharing- one-connection
stuff going using D-BUS with a pet project, and hit some rather tangled
deadlocks in the core [ which, lamer that I am, I didn't get to the
bottom of & file properly ]. If you need to use multiple threads - I'd
recommend using a connection per thread.
HTH,
Michael.
--
michael.meeks at novell.com <><, Pseudo Engineer, itinerant idiot
More information about the dbus
mailing list