[ 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]