You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2001/02/27 17:49:44 UTC
cvs commit: xml-xalan/c/src/XPath XObjectFactoryDefault.cpp XObjectFactoryDefault.hpp
dbertoni 01/02/27 08:49:43
Modified: c/src/XPath XObjectFactoryDefault.cpp
XObjectFactoryDefault.hpp
Log:
Made static global XBooleans into instance members to solve thread-safety issues.
Revision Changes Path
1.21 +11 -7 xml-xalan/c/src/XPath/XObjectFactoryDefault.cpp
Index: XObjectFactoryDefault.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectFactoryDefault.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- XObjectFactoryDefault.cpp 2001/01/17 16:57:35 1.20
+++ XObjectFactoryDefault.cpp 2001/02/27 16:49:41 1.21
@@ -78,11 +78,6 @@
-static XBoolean theTrueBoolean(true);
-static XBoolean theFalseBoolean(false);
-
-
-
XObjectFactoryDefault::XObjectFactoryDefault(
unsigned int theXStringBlockSize,
unsigned int theXNumberBlockSize,
@@ -101,7 +96,9 @@
m_xobjects(),
m_xnumberCache(),
m_xnodesetCache(),
- m_XNull(new XNull)
+ m_XNull(new XNull),
+ m_xbooleanFalse(new XBoolean(false)),
+ m_xbooleanTrue(new XBoolean(true))
{
}
@@ -299,7 +296,14 @@
XObjectFactoryDefault::createBoolean(
bool theValue)
{
- return XObjectPtr(theValue == true ? &theTrueBoolean : &theFalseBoolean);
+ if (theValue == true)
+ {
+ return XObjectPtr(m_xbooleanTrue.get());
+ }
+ else
+ {
+ return XObjectPtr(m_xbooleanFalse.get());
+ }
}
1.20 +6 -0 xml-xalan/c/src/XPath/XObjectFactoryDefault.hpp
Index: XObjectFactoryDefault.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectFactoryDefault.hpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- XObjectFactoryDefault.hpp 2001/01/17 16:57:36 1.19
+++ XObjectFactoryDefault.hpp 2001/02/27 16:49:41 1.20
@@ -88,6 +88,7 @@
#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
#include <XPath/XNull.hpp>
+#include <XPath/XBoolean.hpp>
#endif
@@ -96,6 +97,7 @@
+class XBoolean;
class XNull;
class XNumber;
@@ -247,6 +249,10 @@
XNodeSetCacheType m_xnodesetCache;
const XalanAutoPtr<XNull> m_XNull;
+
+ const XalanAutoPtr<XBoolean> m_xbooleanFalse;
+
+ const XalanAutoPtr<XBoolean> m_xbooleanTrue;
};