rpc exception

Gregory M. Turner gmturner007 at ameritech.net
Thu May 1 16:45:00 CDT 2003


On Thursday 01 May 2003 12:25 pm, Alexandre Julliard wrote:
> "Gregory M. Turner" <gmturner007 at ameritech.net> writes:
> > Say, Alexandre, would it be a possibility to just bake some magic into
> > wpp for this?
>
> I don't see any reasonable way of doing that, you really need some
> compiler support. Note that even with gcc nested functions it won't be
> 100% correct, for instance a return inside a try block will corrupt
> the handler list; the only way to fully support exceptions would be to
> make gcc aware of them.

hmm, you say this on the assumption that the try block would be a nested 
function itself?  Because I think I could work a gcc-specific version so that 
there really is no nested function except perhaps for the "expr" evaluator, 
as in 

__try { } __except ( expr ) { }.

Basically, except for the additional hassle of non-portability it should be no 
better or worse than __TRY... (which does have some documented limitations, 
but seems pretty darn close to what we want).

Or, do you say this because there would be no __wine_pop_frame if they 
returned?  Couldn't we overwrite the return address pointer on the stack and 
then (if & when it is used) jump to the real return address after neccesary 
clean-up's...?  Does __FINALLY suffer from this problem?

I dunno... probably you are right... even if there is a way, it sure is a hell 
of a brainteaser.

-- 
"Security is mostly superstition. It does not exist in nature,
nor do the children of men as a whole experience it. Avoiding
danger is no safer in the long run than outright exposure. Life is
either a daring adventure, or nothing. To keep our faces toward
change and behave like free spirits in the presence of fate is
strength undefeatable." --Helen Keller

gmt





More information about the wine-devel mailing list