Re: Bonobo Unique Application
- From: Michael Meeks <michael ximian com>
- To: Alex Larsson <alexl redhat com>
- Cc: "Gustavo J. A. M. Carneiro" <gjc inescporto pt>, bonobo <gnome-components-list gnome org>, Mark McLoughlin <mark skynet ie>
- Subject: Re: Bonobo Unique Application
- Date: 14 Apr 2003 08:59:42 +0100
Hi Gustavo,
On Fri, 2003-04-11 at 16:58, Alexander Larsson wrote:
> Every app that uses this API has to queue an idle, or guarantee that the
> "message" signal handler is reentrancy-safe with respect to all code that
> ever makes a corba call, including in libraries the app uses. Since it is
> impossible to guarantee this in any non-trivial app, every app needs to
> queue an idle. Therefore I think it makes much more sense to have bonobo
> do the idle and not every application.
Alex is right; we need to queue the incoming message invocation until
idle; this is really hard to do without ORB support -> thus we need to
start using the support I added for this to ORBit2 in HEAD; see the
ORBitThreadHint in poa/orbit-adaptor.h; we need to be able to set the
POA on BonoboObjects as they are instantiated (via some internal to
BonoboObject POA selection magic) preferably with a helper API to re-use
eg. the AT_IDLE / ONEWAY_AT_IDLE methods. This would be _really_ useful
in eg. nautilus where they do a lot of work re-proxying stuff until
idle. I think we could also bin a chunk of code from evolution with
that. The POA should be per BonoboObject interface, not per AO (IMHO).
So - having done that - I think we're in good shape for pushing this
API in ( we'd want an action GEP first though I think ).
How does that sound ?
Regards,
Michael.
--
mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]