This is all new code, so it is not in any existing release. It is in the
code that is in the Apache CVS repository. If you want to play with that
stuff, you'll have to do a CVS checkout of the sources and build them.

----------------------------------------
Dean Roddey
Software Weenie
IBM Center for Java Technology - Silicon Valley
[EMAIL PROTECTED]



"MATTHEWS,HEATHER (HP-Vancouver,ex1)" <[EMAIL PROTECTED]> on
03/28/2000 03:18:51 PM

Please respond to [EMAIL PROTECTED]

To:   "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
cc:
Subject:  RE: Memory leaks in xerces-c_1_1.dll



In reference to the thread below:
I cannot find the XMLPlatformUtils::Terminate() function that you are
referring to.  In fact, line 197 in src/interal/XMLScanner.cpp looks like
the following:
 commonInit();

I am looking at the xerces-c-src_1_1_0.zip download.  Are you referring to
different src or am I misunderstanding the example?

-Heather
-----Original Message-----
From: Andy Heninger [mailto:[EMAIL PROTECTED]
Sent: Friday, March 24, 2000 3:00 PM
To: [EMAIL PROTECTED]
Subject: Re: Memory leaks in xerces-c_1_1.dll


Hi Alex,

   You are correct.  Xerces will leak if the DLL is dynamically loaded,
unloaded, and loaded again.  As Dean notes in his earlier reply, he has
added a termination method and a hook by which this kind of storage can be
recovered.

An example of use of the new mechanism for registering an object for
deletion at termination is in the file src/internal/XMLScanner, at line
197.

The application code triggers the termination cleanup  by calling
XMLPlatformUtils::Terminate() just before unloading the Xerces DLL.

As Dean noted, not all of the lazily allocated storage is currently set up
to use this mechanism - actually, most of it doesn't yet.  We will be
getting to this over time, but if you would like to speed things along,
I'll
be more than happy to put any patches for this back into CVS.

  Best regards,

   -- Andy


From: "Alex Matevossian" <[EMAIL PROTECTED]>
> This is a follow-up to the email sent 2 days ago by Steve Chuang re
memory
> leaks in Xerces.
>
> Summary
> Xerces DLL allocates memory on the heap during initialization.  Since the
> memory is not cleaned automatically by the DLL and the DLL provides no
> mechanism to release the memory explicitly, the memory will be released
only
> when the process hosting the DLL terminates.
>
> This creates memory leaks if the DLL is dynamically loaded and unloaded
by
> the hosting process.
>
  [Details deleted]



Reply via email to