knoaman 2004/07/22 08:37:18 Modified: c/src/xercesc/dom/impl DOMImplementationImpl.cpp DOMImplementationRegistry.cpp DOMNodeImpl.cpp c/src/xercesc/util EncodingValidator.cpp TransService.cpp c/src/xercesc/util/regx RangeTokenMap.cpp c/src/xercesc/validators/schema XSDErrorReporter.cpp Log: Use file static instance instead of local static instance Revision Changes Path 1.25 +4 -4 xml-xerces/c/src/xercesc/dom/impl/DOMImplementationImpl.cpp Index: DOMImplementationImpl.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMImplementationImpl.cpp,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- DOMImplementationImpl.cpp 7 Apr 2004 15:26:45 -0000 1.24 +++ DOMImplementationImpl.cpp 22 Jul 2004 15:37:17 -0000 1.25 @@ -106,6 +106,8 @@ // ----------------------------------------------------------------------- static XMLMsgLoader *sMsgLoader4DOM = 0; // Points to the singleton instance static XMLMutex *sMutex4DOM = 0; +static XMLRegisterCleanup mutex4DOMCleanup; +static XMLRegisterCleanup msgLoader4DOMCleanup; static void reinitMsgLoader4DOM() { @@ -121,7 +123,6 @@ static XMLMutex& getMutex4DOM() { - static XMLRegisterCleanup mutex4DOMCleanup; if (!sMutex4DOM) { XMLMutexLock lock(XMLPlatformUtils::fgAtomicMutex); @@ -138,7 +139,6 @@ XMLMsgLoader* DOMImplementationImpl::getMsgLoader4DOM() { - static XMLRegisterCleanup msgLoader4DOMCleanup; if (!sMsgLoader4DOM) { XMLMutexLock lock(&getMutex4DOM()); @@ -163,6 +163,7 @@ static DOMImplementationImpl *gDomimp = 0; // Points to the singleton instance // of DOMImplementation that is returnedreturned // by any call to getImplementation(). +static XMLRegisterCleanup implementationCleanup; static void reinitImplementation() { @@ -180,7 +181,6 @@ // DOMImplementationImpl *DOMImplementationImpl::getDOMImplementationImpl() { - static XMLRegisterCleanup implementationCleanup; if (!gDomimp) { XMLMutexLock lock(&getMutex4DOM()); 1.6 +3 -3 xml-xerces/c/src/xercesc/dom/impl/DOMImplementationRegistry.cpp Index: DOMImplementationRegistry.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMImplementationRegistry.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DOMImplementationRegistry.cpp 29 Jan 2004 11:44:26 -0000 1.5 +++ DOMImplementationRegistry.cpp 22 Jul 2004 15:37:17 -0000 1.6 @@ -80,6 +80,8 @@ // Global mutex that is used to synchronize access to the vector static XMLMutex* gDOMImplSrcVectorMutex = 0; +static XMLRegisterCleanup cleanupDOMImplSrcVector; +static XMLRegisterCleanup cleanupDOMImplSrcVectorMutex; // ----------------------------------------------------------------------- // Function prototypes for internally used functions. @@ -110,7 +112,6 @@ { // Note: we are not synchronizing on creation since that caller is doing // it (i.e. caller is locking a mutex before calling us) - static XMLRegisterCleanup cleanupDOMImplSrcVector; if (!gDOMImplSrcVector) { gDOMImplSrcVector = new RefVectorOf<DOMImplementationSource>(3, false); @@ -122,7 +123,6 @@ XMLMutex& getDOMImplSrcVectorMutex() { - static XMLRegisterCleanup cleanupDOMImplSrcVectorMutex; if (!gDOMImplSrcVectorMutex) { XMLMutexLock lock(XMLPlatformUtils::fgAtomicMutex); 1.33 +2 -3 xml-xerces/c/src/xercesc/dom/impl/DOMNodeImpl.cpp Index: DOMNodeImpl.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMNodeImpl.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- DOMNodeImpl.cpp 7 Apr 2004 15:26:45 -0000 1.32 +++ DOMNodeImpl.cpp 22 Jul 2004 15:37:17 -0000 1.33 @@ -102,6 +102,7 @@ // ----------------------------------------------------------------------- static DOMNodeListImpl *gEmptyNodeList = 0; // make a singleton empty node list static XMLMutex* gEmptyNodeListMutex = 0; +static XMLRegisterCleanup emptyNodeListCleanup; static void reinitEmptyNodeList() { @@ -156,8 +157,6 @@ DOMNodeList *DOMNodeImpl::getChildNodes() const { - - static XMLRegisterCleanup emptyNodeListCleanup; if (!gEmptyNodeList) { 1.6 +4 -1 xml-xerces/c/src/xercesc/util/EncodingValidator.cpp Index: EncodingValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/EncodingValidator.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- EncodingValidator.cpp 13 Jan 2004 16:17:10 -0000 1.5 +++ EncodingValidator.cpp 22 Jul 2004 15:37:18 -0000 1.6 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.6 2004/07/22 15:37:18 knoaman + * Use file static instance instead of local static instance + * * Revision 1.5 2004/01/13 16:17:10 knoaman * Fo sanity, use class name to qualify method * @@ -88,6 +91,7 @@ // --------------------------------------------------------------------------- static XMLMutex* sEncValMutex = 0; static XMLRegisterCleanup encValRegistryCleanup; +static XMLRegisterCleanup instanceCleanup; // --------------------------------------------------------------------------- // Local, static functions @@ -165,7 +169,6 @@ // --------------------------------------------------------------------------- EncodingValidator* EncodingValidator::instance() { - static XMLRegisterCleanup instanceCleanup; if (!fInstance) { XMLMutexLock lock(&getEncValMutex()); 1.18 +3 -4 xml-xerces/c/src/xercesc/util/TransService.cpp Index: TransService.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/TransService.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- TransService.cpp 19 Apr 2004 08:54:10 -0000 1.17 +++ TransService.cpp 22 Jul 2004 15:37:18 -0000 1.18 @@ -91,6 +91,8 @@ static bool gStrictIANAEncoding = false; RefHashTableOf<ENameMap>* XMLTransService::gMappings = 0; RefVectorOf<ENameMap> * XMLTransService::gMappingsRecognizer = 0; +static XMLRegisterCleanup mappingsCleanup; +static XMLRegisterCleanup mappingsRecognizerCleanup; // ----------------------------------------------------------------------- // Notification that lazy data has been deleted @@ -110,9 +112,6 @@ // --------------------------------------------------------------------------- XMLTransService::XMLTransService() { - static XMLRegisterCleanup mappingsCleanup; - static XMLRegisterCleanup mappingsRecognizerCleanup; - if (!gMappings) { RefHashTableOf<ENameMap>* t = new RefHashTableOf<ENameMap>(103); 1.10 +4 -1 xml-xerces/c/src/xercesc/util/regx/RangeTokenMap.cpp Index: RangeTokenMap.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/regx/RangeTokenMap.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- RangeTokenMap.cpp 13 Jan 2004 16:17:10 -0000 1.9 +++ RangeTokenMap.cpp 22 Jul 2004 15:37:18 -0000 1.10 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.10 2004/07/22 15:37:18 knoaman + * Use file static instance instead of local static instance + * * Revision 1.9 2004/01/13 16:17:10 knoaman * Fo sanity, use class name to qualify method * @@ -132,6 +135,7 @@ // --------------------------------------------------------------------------- static XMLMutex* sRangeTokMapMutex = 0; static XMLRegisterCleanup rangeTokMapRegistryCleanup; +static XMLRegisterCleanup rangeTokMapInstanceCleanup; // --------------------------------------------------------------------------- // Local, static functions @@ -341,7 +345,6 @@ // --------------------------------------------------------------------------- RangeTokenMap* RangeTokenMap::instance() { - static XMLRegisterCleanup rangeTokMapInstanceCleanup; if (!fInstance) { XMLMutexLock lock(&getRangeTokMapMutex()); 1.13 +6 -4 xml-xerces/c/src/xercesc/validators/schema/XSDErrorReporter.cpp Index: XSDErrorReporter.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/XSDErrorReporter.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- XSDErrorReporter.cpp 9 Jan 2004 22:41:58 -0000 1.12 +++ XSDErrorReporter.cpp 22 Jul 2004 15:37:18 -0000 1.13 @@ -56,6 +56,9 @@ /** * $Log$ + * Revision 1.13 2004/07/22 15:37:18 knoaman + * Use file static instance instead of local static instance + * * Revision 1.12 2004/01/09 22:41:58 knoaman * Use a global static mutex for locking when creating local static mutexes instead of compareAndSwap * @@ -120,7 +123,9 @@ static XMLMsgLoader* gErrMsgLoader = 0; static XMLMsgLoader* gValidMsgLoader = 0; static XMLMutex* sErrRprtrMutex = 0; - +static XMLRegisterCleanup errRprtrMutexCleanup; +static XMLRegisterCleanup cleanupErrMsgLoader; +static XMLRegisterCleanup cleanupValidMsgLoader; // --------------------------------------------------------------------------- // Local, static functions @@ -133,7 +138,6 @@ static XMLMutex& getErrRprtrMutex() { - static XMLRegisterCleanup errRprtrMutexCleanup; if (!sErrRprtrMutex) { XMLMutexLock lockInit(XMLPlatformUtils::fgAtomicMutex); @@ -162,7 +166,6 @@ static XMLMsgLoader* getErrMsgLoader() { - static XMLRegisterCleanup cleanupErrMsgLoader; if (!gErrMsgLoader) { XMLMutexLock lock(&getErrRprtrMutex()); @@ -184,7 +187,6 @@ static XMLMsgLoader* getValidMsgLoader() { - static XMLRegisterCleanup cleanupValidMsgLoader; if (!gValidMsgLoader) { XMLMutexLock lock(&getErrRprtrMutex());
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]