roadmap
Havoc Pennington
hp at pobox.com
Mon Aug 11 10:09:24 PDT 2008
Hi,
On Mon, Aug 11, 2008 at 12:59 PM, Michael Biebl <mbiebl at gmail.com> wrote:
> That's not correct afaik. E.g networkmanager 0.6 has logic to
> reconnect to the system bus (and it works ok). I know other services,
> like powersaved, which also can cope with a system dbus restart just
> fine.
>
> I also know, that Sjoerd fixed a couple of GNOME programs, so they can
> cope with a session bus going away (e.g. gnome-keyring). And from my
> day-to-day usage I think that programs like gnome-power-manager work
> just fine after dbus restarts. Actually most programs do, only
> nautilus/gnome-vfs is an unfortunate exception.
>
> So, it's very well possible, it just requires additional work.
For the system bus it is possible, though note that to rely on it we
have to know that *all* services are not only supposed to survive
restart, but in fact have been tested and do survive restart. That is
a fairly high bar. Relying on this is definitely not easier than
adding feature negotiation.
For the session bus, surviving restart doesn't make any sense and is
actively wrong, generally speaking. The DBUS_SESSION_BUS_ADDRESS env
variable can't be modified post-login, so there is no way a new
session bus will appear; we can't "restart" the session bus.
Perhaps more importantly, we've defined that the lifetime of a user
login session is the lifetime of the session bus and X server, and
that the session bus and X server should have the same lifetime. Thus,
applications and services should be exiting when either the session
bus or X server exits. Sysadmins get very angry if bits of a user
session are leftover post-logout. It's almost always a bug if anything
does this. (The exceptions are few, and would be things that
inherently must stay active after logout, an ssh session example is
"screen" or "nohup", I can't think of a GUI session example offhand.)
Even if some stuff survives session bus restart, most stuff *should*
be exiting if the session bus does, so we can't restart it without
logging people out.
Havoc
More information about the dbus
mailing list