so the kernel can send d-bus messages
Sean Middleditch
elanthis at awesomeplay.com
Sat Jul 24 13:07:05 PDT 2004
On Sat, 2004-07-24 at 15:39 -0400, Robert Love wrote:
> On Sat, 2004-07-24 at 15:16 -0400, Sean Middleditch wrote:
> > Not only should it try to reconnect instead of bailing out, and complain
> > very noticeably in syslog if it can't, but it should be important that
> > it doesn't loose any potentially vital signals (like processor over-
> > heating) that get sent to it while D-BUS is the middle of restarting.
> >
> > Actually, not being that knowledgeable on netlink (which means I should
> > probably just shut the hell up, right?), what happens if D-BUS *is*
> > responsible for reading kernel events, and is restarting right when a
> > vital event comes through? Does netlink throw away events if there are
> > no listeners, or queue them? How many messages stay in the queue?
> > Should there be a priority setting for each event so that, if events
> > need to be chucked out, it can make sure the vital ones like CPU over-
> > heating errors are kept instead of less important events?
>
> Messages not read at time of transmission are lost. This is the only
> negative item on the list of pros and cons for and against using
> netlink.
Hmm. Assuming that we can't make a really good guarantee that D-BUS
will always stay running, that sounds like a point in favor of a kdbusd.
It's very easy to keep a very small and simple daemon like that running
and holding a small queue of events. It could also just log the events
if it can't deliver them to D-BUS, giving servers that absolutely
require the information to be able to monitor the system logs in
addition to D-BUS signals.
>
> We need to start dbus at early boot, like we do now, and work hard to
> ensure that it keeps running.
Hmm. Doesn't D-BUS need to be restarted whenever the settings change,
like adding a new bus configuration? If we have D-BUS able to reload
these without shutting down, that'll be a lot better.
I'd actually like to see D-BUS be able to do that independent of the
kernel events layer, since all the other D-BUS using apps shouldn't need
to have a bunch of duplicative code added for handling D-BUS connection
interruptions.
>
> Robert Love
>
>
More information about the dbus
mailing list