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