Re: D-Bus



On Fri, Feb 28, 2003 at 12:48:07PM -0500, Sean Middleditch wrote: 
> Hrm.  OK, phrased a bit differently, is it technically impossible for
> CORBA + an extension to achieve what D-BUS does?

I think it would be possible to build something functionally similar
to D-BUS on top of CORBA, yes. However, I don't think it gets you
anywhere other than using 10x as much code to do the same thing and
ensuring that no one outside of GNOME will even consider using it.

Also, there are a couple of serious problems with our current IPC
setup (uncontrolled reentrancy and refcount-based lifecycle) that are
not really fixable without ABI breakage. Yes, with sufficient hacks
you can work around these issues, and we can fix them in GNOME 3, but
many of the large GNOME apps have given up and moved components
in-process instead. (Including Evolution, according to what I've
heard.) These problems are well-known and we've discussed them with
Michael on several occasions.

Michael wrote the Bonobo code in gnome-terminal for example, and guess
what, it was broken due to the reentrancy issue. So I had to do the
classic fix that Nautilus also uses everywhere: queue an idle handler.
This fixed a popular crash leading up to GNOME 2.2. If Michael makes
this mistake... you can imagine how well others are avoiding it.

> From what I read, it seems like the goal is to leave DCOP/CORBA
> untouched completely, and implement a whole new layer; it seems just a
> lot simpler to add the missing features/functionality to the existing
> infrastructure.

The existing infrastructure doesn't really have missing
features/functionality; instead, it has wrong features/functionality.
Which is harder to fix, because it requires an ABI break.

My technical opinion is that D-BUS from scratch is correct in this
case, vs. a hack-tower on top of the existing stuff. Certainly when
you consider the goal of a systemwide message bus which must be
security audited, and the goal of interoperability, and the goal of
fixing the reentrancy and lifecycle issues, and the benefit of X-style
licensing.

In any case, I'll post a longer D-BUS overview/explanation after lunch
that addresses this in more detail.

Havoc



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