Re: oaf_plugin_unuse can't possibly work!
- From: Maciej Stachowiak <mjs eazel com>
- To: Elliot Lee <sopwith redhat com>
- Cc: gnome-components-list gnome org
- Subject: Re: oaf_plugin_unuse can't possibly work!
- Date: 01 Sep 2000 07:59:49 -0700
Elliot Lee <sopwith@redhat.com> writes:
> On 1 Sep 2000, Maciej Stachowiak wrote:
>
> > For each object produced by a shared library server, the server is
> > supposed to call oaf_plugin_unuse when the object is destroyed. This
> > keeps a hidden refcount for the shlib server. Once the refcount goes
> > to zero, the shlib is unloaded. However, once we return back from
> > oaf_plugin_unuse to the stack frame of the function that called it, we
> > get a SEGV because we return to code that just got unmapped.
> >
> > Elliot, do you have some ingenious solution for this? Is this just
> > broken as designed?
>
> It requires the ORBit_servant_set_deathwatch() function to be used, but
> that function is only present in binary-incompatible ORBit HEAD, which is
> not something we will ever want to tell people to use.
Well, not for GNOME 1.x
> > Maybe oaf_plugin_unuse should only schedule an unload in an idle
> > handler rather than doing it immediately
>
> That was the broken solution used in libgnorba. It probably should be the
> Bad Hack to use in liboaf for now, because it does handle the most common
> cases.
>
I will look at how gnorba does it, maybe we can switch back to the
better solution for GNOME 2 if ORBit HEAD is adopted for that.
- Maciej
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]