From: David F. <fr...@tu...> - 2009-05-28 12:10:42
|
Hi William, >>>>> "wf" == William Fulton writes: >> Sometime later today, I'll try to copy a snapshot of the libkml >> interface project I'm working on to the swig tracker.... presuming I >> can figure out how to use it, of course. :-) wf> See my previous email re the SWIG testing framework needs to be wf> used and not libkml. Yes, I'll be developing a swig-specific test case, too. But, I also needed to develop a libkml-specific test case, and that's what I chose to work on first (because it was easier to morph an existing test case, and I didn't know about the swig test case when I started). >> I'm now in the process of testing for memory leaks using valgrind >> and I see a few difficulties... In other words, I'm pretty sure >> that the changes I've made aren't related. wf> Tracking down memory leaks in these SWIG wrapped smart pointers is not wf> easy... I've had to do this for shared_ptr. I put in a wrapper around wf> shared_ptr in the end to reference count it all, you could consider wf> doing something similar, see the li_boost_shared_ptr.i testcase. Yep, that's a good way to do this. Fortunately, intrusive_ptr *is* a reference count with just a tiny bit of extra machinery (though, technically the reference count is kept in the core object, not the intrusive_ptr object). So, it's pretty easy to see how many references there are. What's harder is finding out, from the various extension languages, how many references it has to the intrusive_ptr object (or any object). I think what's happening in this situation is that perl is not gaining ownership of the pointer for some reason. I haven't looked into this fully, but I think the SWIG_POINTER_OWN flag isn't being honored. If that is, indeed, the case, this will take more work to solve, and require a more intrusive solution... which means that I should move back to the 'talby' branch if, indeed, this is about ready to be adopted. Hmmm.... Tx. -- David Fletcher Tuscany Design Automation, Inc. fr...@tu... 3030 S. College Ave, Suite 102 Ft. Collins, CO 80525 USA |