A service should not rely on the clients always behaving as expected.
The client may disconnect from DBus without calling doListing(false). If that's the case, we never clean up the resources associated with this client.
A solution, without changing the bus API, might be to watch the bus-name of the client disappear through the org.freedesktop.DBus.NameOwnerChanged signal, and consider it equivalent to an explicit doListing(false)
A service should not rely on the clients always behaving as expected.
The client may disconnect from DBus without calling
doListing(false). If that's the case, we never clean up the resources associated with this client.A solution, without changing the bus API, might be to watch the bus-name of the client disappear through the
org.freedesktop.DBus.NameOwnerChangedsignal, and consider it equivalent to an explicitdoListing(false)