Re: Serious Bonobo Problem for Sun
- From: Darin Adler <darin eazel com>
- To: Dietmar Maurer <dietmar ximian com>
- Cc: Michael Meeks <michael ximian com>, Maciej Stachowiak <mjs eazel com>, Miguel de Icaza <miguel ximian com>, <brian cameron ireland sun com>, Gnome Components <gnome-components-list gnome org>, Brian Cameron <Brian Cameron Sun COM>
- Subject: Re: Serious Bonobo Problem for Sun
- Date: Wed, 04 Apr 2001 09:49:51 -0700
> on 4/4/01 7:54 AM, Michael Meeks at michael ximian com wrote:
>>> Ok, so, there are several problems here. The first problem is
>>> built into the referencing scheme. An object has a reference count, but
>>> this contains no concept of ownership whatsoever. ie. it is impossible to
>>> tell who owns the 5 references it has. Consequently if someone comes
>>> along, references the server and then crashes or just leaks the reference,
>>> there is no possible way to detect this.
> Darin Adler wrote:
>> That's true in theory, but not in practice. In practice, the Bonobo objects
>> we serve have a single owner. For example a Control has its control frame.
>> While in theory other objects can be holding references, the reference count
>> really does us no good here. A control without its control frame is usually
>> not a useful thing to have.
on 4/4/01 9:42 AM, Dietmar Maurer at dietmar ximian com wrote:
> I thought this problem is already solved? (bonobo-control.c) /*
> * This callback is invoked when the plug is unexpectedly destroyed by
> * way of its associated X window dying. This usually indicates that
> * the container application has died. This callback is _not_ invoked
> * if the BonoboControl is destroyed normally, i.e. the user unrefs
> * the BonoboControl away.
> */
> static gboolean
> bonobo_control_plug_destroy_event_cb (GtkWidget *plug,
> GdkEventAny *event,
Yes, this code looks like it could be the first step to solving the problem.
It's a good approach, because the X window system does ensure that windows
belonging to dead processes go away.
No, in practice it doesn't solve the problem. If you try with a test program
I think you'll see that it doesn't work yet.
-- Darin
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]