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