summaryrefslogtreecommitdiff
path: root/cpp/src/IceUtil/ConsoleUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceUtil/ConsoleUtil.cpp')
-rw-r--r--cpp/src/IceUtil/ConsoleUtil.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/cpp/src/IceUtil/ConsoleUtil.cpp b/cpp/src/IceUtil/ConsoleUtil.cpp
index 08121a27fd8..427b1f5c90d 100644
--- a/cpp/src/IceUtil/ConsoleUtil.cpp
+++ b/cpp/src/IceUtil/ConsoleUtil.cpp
@@ -28,7 +28,6 @@ public:
Init()
{
consoleMutex = new IceUtil::Mutex;
- consoleUtil = ICE_MAKE_SHARED(ConsoleUtil);
}
~Init()
@@ -45,6 +44,11 @@ Init init;
const ConsoleUtilPtr&
IceUtilInternal::getConsoleUtil()
{
+ IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(consoleMutex);
+ if(consoleUtil == 0)
+ {
+ consoleUtil = ICE_MAKE_SHARED(ConsoleUtil);
+ }
return consoleUtil;
}