Raw libdbus dispatching
Havoc Pennington
hp at redhat.com
Tue Oct 24 15:20:31 PDT 2006
Thiago Macieira wrote:
> What I use is a form of event/timer that is scheduled for immediate
> execution at the next event loop and disables itself after the first run
> (it's what we call a "single-shot timer"). It gets enabled in one of
> these three cases:
>
> 1) the connection has just been created
> 2) the connection has received Input I/O (the Read watch handler has been
> called)
> 3) dbus_connection_send_with_reply_and_block has been called and, after it
> returned, dispatch_status == DATA_REMAINS
In theory you should be able to just call set_dispatch_status_function
and enable the timer in there (if status == DATA_REMAINS), and that
would cover all these cases plus any future cases. It could be broken,
but it's supposed to work.
Havoc
More information about the dbus
mailing list