Re: [Evolution-hackers] gtkhtml - composer not starting ...



Hi Michael,

On 14 May 2002, Michael Meeks wrote:

> 	Well - since evolution will be porting to Gnome 2.1, I have a couple of
> somewhat trivial ideas to help your re-enterancy problems ( and cut a
> swathe of code out of evolution ) that we can get into the platform in
> that timescale. My re-entrancy 'fix' is also also rather simple, so I'll
> explain it to you: [ thanks for provoking me into sharing this, since
> I'm supposed to write a formal proposal or somesuch and havn't got round
> to it ]:
>
> 	For each corba method we add an IDL [or other] annotation that
> describes the method behavior and (re-)ordering constraints. Thus:
>
> +	oneway foo (in string baa) [ handle_at_idle, no_re_enter ];
>
> 	Or perhaps - for people who like blocking:
>
> +	string getMyName () [ no_re_enter ]
>
> 	Thus people can invoke methods, no re-entrancy will occur on that
> method invoke, and we can queue methods execution until idle. It's
> really quite easy to do in the ORB - but needs some IDL extensions /
> poking. Possibly some evil #pragma or something. Then we are at least at
> the X level - where incoming events are processed in an idle loop, and
> outgoing events don't re-enter [ but of course can do if we think we can
> cope with writing some re-entrancy safe code ].
>
> 	How does that sound ?

        I won't address the problem you're trying to solve, because I
haven't had much experience of it, but the way you plan to implement
the solution is just plain wrong.

        The idea behind IDL is that you specify the details of the
interface to the service i.e. you seperate the details of the
implementation from the interface. The way in which requests are
processed is an implementation issue.

        Not only that, but its a detail of the POA. And the way the
POA behaviour is configured is through the use of POA policies. Think
about it - how different from the RequestProcessingPolicy, the
LifespanPolicy or the ThreadPolicy is this? So really, if you want to
make to make this behaviour configurable, you should do so by adding
another POA policy.

Good Luck,
Mark.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]