Re: GtkApplication and argc/arv


On Thu, Feb 24, 2011 at 8:51 PM, Wen-Yen Chuang <caleb calno com> wrote:
> a.) restart dbus daemon (and keep everything communicating to dbus
>    still working) is not supported by upstream in a sensible way.
>    [1][2][3][4]

upstream doesn't support this because it isn't a dbus issue. The
problem is that no apps handle restart.

So upstream's advice is, don't restart, because apps won't handle it.

If you want to fix all the apps, you can do so. There are no
dbus-daemon changes required.

(fwiw, g_bus_own_name() in gdbus could in theory make it considerably
easier to handle bus restart, assuming gdbus itself handles it.)

The reason apps don't handle it is because this is a very hard thing
to handle and requires per-app work. You'd have the same problem with
any stateful IPC protocol. (You can build stateless protocols on dbus
if you like, that will have no issue.)

Anyway, the upstream position, or at least my opinion, with respect to
the system bus, is "restarting won't work in practice because you
can't rely on apps handling it" rather than "apps should not handle
it." If apps handle it that's great.

The links you mention are just a bunch of confused people blaming the
protocol, when the issue is the missing logic in apps.

With respect to the session bus, the bus exiting is supposed to end
the session, so in that case exiting has special meaning and apps
should not try to survive it. The same is true of gnome-session for

But still, that is a case of policy decision for what apps do, and has
nothing to do with dbus-daemon or the dbus protocol.

> b.) dbus can not be used over network
>    You have to setup a proxy for dbus to use it over network.

You can enable TCP if you have shared network homedirs and it ought to
work. If you don't have shared homedirs you would have to add support
for another auth method, something that nobody has done yet, but
anyone is certainly welcome. For some applications, you may also be
able to use anonymous auth (i.e. no-auth mode).


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]