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]

Reply via email to