summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/LoggerI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/LoggerI.cpp')
-rw-r--r--cpp/src/Ice/LoggerI.cpp30
1 files changed, 27 insertions, 3 deletions
diff --git a/cpp/src/Ice/LoggerI.cpp b/cpp/src/Ice/LoggerI.cpp
index 6ec657a8234..634eb5c0c29 100644
--- a/cpp/src/Ice/LoggerI.cpp
+++ b/cpp/src/Ice/LoggerI.cpp
@@ -7,16 +7,40 @@
//
// **********************************************************************
-#include <IceUtil/StaticMutex.h>
#include <IceUtil/Time.h>
#include <Ice/LoggerI.h>
+#include <IceUtil/Mutex.h>
+#include <IceUtil/MutexPtrLock.h>
#include <Ice/LocalException.h>
using namespace std;
using namespace Ice;
using namespace IceInternal;
-static IceUtil::StaticMutex outputMutex = ICE_STATIC_MUTEX_INITIALIZER;
+namespace
+{
+
+IceUtil::Mutex* outputMutex = 0;
+
+class Init
+{
+public:
+
+ Init()
+ {
+ outputMutex = new IceUtil::Mutex;
+ }
+
+ ~Init()
+ {
+ delete outputMutex;
+ outputMutex = 0;
+ }
+};
+
+Init init;
+
+}
Ice::LoggerI::LoggerI(const string& prefix, const string& file)
{
@@ -78,7 +102,7 @@ Ice::LoggerI::error(const string& message)
void
Ice::LoggerI::write(const string& message, bool indent)
{
- IceUtil::StaticMutex::Lock sync(outputMutex);
+ IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(outputMutex);
string s = message;