[
https://issues.apache.org/jira/browse/XERCESC-1652?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Boris Kolpackov updated XERCESC-1652:
-------------------------------------
Fix Version/s: (was: 3.0.0)
Fixed in 3.0.0. BTW, the reason why this bug doesn't affect that many
applications is because it is only manifested when you create a DOMDocumentType
object via DOMImplementation instead of DOMDocument. I guess not many
applications do that (I don't know why anyone would want to do this).
> 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
> Fix For: 2.9.0
>
> 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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]