FAQ notes
Jeroen T. Vermeulen
jtv at xs4all.nl
Fri Aug 25 02:01:00 PDT 2006
On Thu, August 24, 2006 22:12, Havoc Pennington wrote:
> It depends a little bit how you are making the call. If you're letting
> dbus block for you (e.g. send_with_reply_and_block()) then what will
> happen is that other messages arriving will be queued, but not
> dispatched. So from the application's perspective, there won't be any
> callbacks invoked while blocking. (Unless threads come into it, in which
> case one thread could block while another kept processing the queue.)
[Grabs head and wails melodramatically]
Ah yes, threads... Guess I'd have to look into those as well.
> The tradeoff here is that by not dispatching calls while blocking,
> deadlocks are possible; this is the default for whenever dbus blocks,
> though, because deadlocks are pretty easy to debug (and fix by switching
> to some async calling convention for that method), relative to
> "uncontrolled reentrancy" ("any time you make a call any other call can
> be made as a side effect").
Makes sense. Thanks for the explanations!
Jeroen
More information about the dbus
mailing list