I believe that I resolved this problem.  The DTD that I use has multiple
ATTLIST entries for each ELEMENT.  This is a documented leak reported by :

 Erik Rydgren
 Mandarinen Systems AB, Sweden

Having just one ATTLIST for each attribute per ELEMENT seems to eliminate
the leak.

Sean Radcliffe wrote:

> I am using xerces 1.4 with Win32.  I am using the existing downloadable
> binaries.  When I parse multiple times in the same process, memory is
> not relieved after each parse.  As a test,  I took the sample VC6
> project DOMPrint (DOMPrint.cpp), and simply looped the code between the
> parser creation and destruction as in:
> for (int ct = 0; ct < 1000; ct++)
> {
> DOMParser *parser = new DOMParser;
> ...
> parser.parse(...);
> ...
> delete parser;
> }
>
> This will slowly eat up more memory with each parse operation. When
> finished all 1000 iterations and the application exits, all memory is
> relieved.  I need the parser to relieve memory at destruction of the
> parser (or sometime before application exit or
> XMLPlatformUtils::Terminate) because I need to run this application
> continuously as a service.
>
> What am I doing wrong?  I hope this isn't a limitation...
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


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

Reply via email to