"Paul Warren" <[EMAIL PROTECTED]> writes:

> This leaks.  However, if I comment out the setErrorHandler line it
> does not.  Is there a circular link between the parser and error
> handler that does not get deleted?

Hey Paul,

I'm really grateful that someone is memory testing XML::Xerces, I
found and eliminated a whole bunch of issues, but you just discovered
a big one. 

The problem, as you pointed out, is in the ErrorHandler code
(actually, you'd find it in any of the other *Handler's as
well). Because XML::Xerces uses Xerces-C under the hood, whenever a
handler is set, I need to allocate a C++ object to proxy for the
actual Perl handler. 

After poking around for a bit, I've discovered that I'm not proplerly
storing and releasing references to either the C++ proxy object (class
XML::Xerces::PerlErrorCallbackHandler) or the handler object (class
XML::Xerces::PerlErrorHandler). I tried some quick fixes, but no luck
I'm going to have to spend some time looking at this.

Thanks for the info,
jas.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to