exit-on-idle (yes again)

Colin Walters <[email protected]>
Newsgroups gmane.comp.freedesktop.dbus
Message-ID <1507123546.2674088.1127575640.3FFCA6F4@webmail.messagingengine.com>
Following up to
https://lists.freedesktop.org/archives/dbus/2015-May/016671.html
https://lists.freedesktop.org/archives/dbus/2017-September/017296.html
etc.

I recently landed a change in rpm-ostree that I'm pretty happy with:
https://github.com/projectatomic/rpm-ostree/pull/606

Basically this is the "agent pattern" - but one trick here is to send
the "register" method call to the *well known* name, and use a retry
loop in case we get NoReply.

After that we can create a proxy using the unique name like
GDBus prefers (and this makes sense to me).

This discussion crosses a lot of other ones, like the active thread
https://lists.freedesktop.org/archives/dbus/2017-October/017312.html

While I haven't looked in detail at the dbus broker approach, I'm
still skeptical of the approach without something like this.

Obviously a major tradeoff with this approach is that if e.g.
a client app leaks a proxy, the *entire daemon* then "leaks".

Anyways I'm not 100% confident this approach is truly race-free,
but it's survived a lot of my testing, and in the end we're not
relying on any magic tricks on the dbus-daemon/kernel/whatever
side, and we're not scoping in trying to handle the daemon
exiting while a process may still be talking to it.

One next step we could take here would be to standardize
the "agent registration" interface, and teach higher level
libraries like GDBus etc. how to use it.
_______________________________________________
dbus mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dbus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.