Hey On Tue, Apr 25, 2017 at 10:05 AM, Lennart Poettering <lenn...@poettering.net> wrote: > On Tue, 25.04.17 09:54, David Herrmann (dh.herrm...@gmail.com) wrote: > >> >> This change makes sure all objects have the built-in interfaces >> >> reported at all times. The GetManagedObjects() call didn't report them >> >> so far. >> > >> > Quite the contrary? If you look at the output from dbus-monitor above, >> > you'll see that it is sd-bus that already *does* report all interfaces >> > while gdbus doesnt? >> >> No, it does not. sd-bus was inconsistent. See, there are 3 things >> involved in the Object-Manager: >> >> Signal: InterfacesAdded >> Signal: InterfacesRemoved >> Call: GetManagedObjects >> >> The first two signals are used to add and remove objects (and their >> respective interfaces) at runtime. The GetManagedObjects() call is >> used to bootstrap, that is, to get the initial set of objects (and >> their respective interfaces) when starting your application. >> >> So far, sd-bus reported the builtin interfaces correctly via the >> signals, but did not return that information in the >> GetManagedObjects() call. My patch fixed this omission. >> The effect of this is that objects added/removed at runtime work fine, >> but if an object was there already when your application starts, then >> it will never be removed, since gdbus will see an interface-count >> mismatch (as you observed above). >> >> Hence, the patch I provided fixes how sd-bus provides this >> information. It does *not* change any policy. >> >> I think the 2 underlying problems you saw are bugs in both gdbus and >> sd-bus. The one in sd-bus I tried to fix above, the one in gdbus is >> only about counting interfaces and properly detecting negative >> interface-counts. The gdbus bug is non-severe, though, since it >> originates in a buggy remote client. So there is no hard reason to >> change gdbus there. > > Could you please send the sd-bus side fix as PR?
Now pending as #5799. Thanks David _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel