Fwd: Circular calls with DBUS

Simon McVittie simon.mcvittie at collabora.co.uk
Fri Mar 23 04:06:14 PDT 2007


On Fri, 23 Mar 2007 at 10:41:05 +0100, Jacques Guillou wrote:
> Is there a way to configure the GLib binding in such a way that an incoming
> message can be preocessed even if the main loop execution is stopped into a
> synchronous call (waiting for its answer) ?

I've considered adding this functionality in dbus-python
(probably via "foo_proxy.FooMethod(arg1, arg2, reentrant=True)"). This would
require the main loop to be invoked recursively (obviously that's not a problem
at all in the GLib world, but in Python it's not clear that all possible
main loops would support this).

I think it violates least astonishment to deliver events (D-Bus
signals, other calls, GUI events...) while blocking in an unrelated method
call (which may break non-reentrancy assumptions - GLib programmers can
expect code to be non-reentrant unless otherwise specified, right?), so my
plan is that this will not be the default and must be selected by an explicit
keyword argument.

	Simon


More information about the dbus mailing list