Re: Bonobo Unique Application

Michael Meeks <[email protected]>
Newsgroups gmane.comp.gnome.components
Organization Ximian.
Message-ID <[email protected]>
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.

-- 
 [email protected]  <><, Pseudo Engineer, itinerant idiot
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.