[ 
https://issues.apache.org/jira/browse/XERCESC-1652?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Scott Cantor resolved XERCESC-1652.
-----------------------------------
    Resolution: Fixed

> DOMDocumentTypeImpl is not thread safe
> --------------------------------------
>
>                 Key: XERCESC-1652
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1652
>             Project: Xerces-C++
>          Issue Type: Bug
>          Components: DOM
>    Affects Versions: 2.7.0, 2.8.0
>         Environment: Multithreaded programs
>            Reporter: Jesse Pelton
>            Priority: Major
>         Attachments: DOMDocumentTypeImpl.diff
>
>
> 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 was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org

Reply via email to