DOMDocumentTypeImpl is not thread safe
--------------------------------------
Key: XERCESC-1652
URL: http://issues.apache.org/jira/browse/XERCESC-1652
Project: Xerces-C++
Issue Type: Bug
Components: DOM
Affects Versions: 2.7.0
Environment: Multithreaded programs
Reporter: Jesse Pelton
DOMDocumentTypeImpl.cpp uses a static gDocTypeDocument() method to return a
singleton doctype document that provides various utility services (allocating
named node maps, cloning strings, and so on). Any calls to methods of this
static document that can modify its instance data, including calls that
allocate memory, must be synchronized to keep the document's state consistent.
Patch against the trunk to follow, but note that it should be reviewed
carefully. First, I pretty much blindly copied the synchronization code from
DOMImplementationRegistry.cpp and may have gotten something wrong. Second, the
patch is adapted from changes I made to v2.7.0 code and has not been tested (or
even compiled) (Updates to the trunk prevent successful application of a patch
against v2.7.0 to code from the trunk.) And lastly, it's possible that the
trunk updates obsolete my patch, though it still seems relevant.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]