[ https://issues.apache.org/jira/browse/XERCESC-1350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Boris Kolpackov updated XERCESC-1350: ------------------------------------- Component/s: (was: SAX/SAX2) Affects Version/s: (was: 2.6.0) 3.0.1 This problem seems to be still present in 3.0.1. > DTDElementDecl lazy initialization not thread safe. > --------------------------------------------------- > > Key: XERCESC-1350 > URL: https://issues.apache.org/jira/browse/XERCESC-1350 > Project: Xerces-C++ > Issue Type: Bug > Components: Validating Parser (DTD) > Affects Versions: 3.0.1 > Environment: Solaris > Reporter: Mark Weissman > > DTDElementDecl.cpp && DTDElementDecl.hpp perform lazy evaluation on many > of the get() methods. This is used in cached grammars which may > be shared by multiple threads and accessed unsynchonized. > Lazy initialization is generally a bad pattern, but particularly in > multithreaded > applications. It should be disabled for shared grammars. > I work around this by calling all the getters when I create my Grammar pool > but I think this should not be necessary. > It would be good if somebody could check all the lazy evaluations that might > affect shared grammars. -- 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: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org