Re: ORBit bug?



Hi Elliot,

> > Following up on my on post: I sat down today and implemented that. It
> > was rather easy and is a small patch. Electric Fence and memprof on
> > test/everything showed, that it yields the expected results and the
> > best thing is, that no changed to the idl-compiler had been necessary
> > (even though it would have been cleaner with changes to
> > orbit-idl). That means, that indeed the patched ORBit can be used as a
> > drop in replacement for older ORBit versions without having to
> > recompile the idl-files. Even new idl-files can work with old
> > ORBit-versions. This of course is nice and would allow for the
> > immediate includion of this patch into ORBit, which would fix the
> > above mentioned bug.
> >
> > What do you think, Elliot?
> 
> From what I can gather, the right fix should be in the IDL compiler, to
> get it to do free_strings or not correctly. Doing magic hacks doesn't
> sound like a great idea. What do you think?

I think, that the best thing indeed would be to remove free_strings completely
to make life easier for the idl-compiler, because as the current case
demonstrates, it is not that easy to get it right. So decoupling things in the
idl-compiler and get it right at runtime (with a minimal runtime penalty, if
any; at least we do not need to pass around free_strings) is the right
solution. I wouldn't consider it a magic hack. The reason, why I left the
free_strings part in the idl-compiler and not removed it is backwards and
forwards compatibility within ORBit-0.5.* -  You can take an -skels.c file
compiled by ORBit-0.5.0 and it works with ORBit-0.5.8 libs and vice versa. For
ORBit-0.6.0, if there will be any, I would propose getting rid of
free_strings.

If of course you can fix the problem in the idl-compiler, please do. I can't
because of lack of understanding and lack of time to understand it. Indeed the
idl-compiler has always been a mystery to me ;-)

Bye,
Sebastian
-- 
Sebastian Wilhelmi
mailto:wilhelmi ira uka de
http://goethe.ira.uka.de/~wilhelmi




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