diff options
author | Jose <jose@zeroc.com> | 2017-03-31 19:12:01 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2017-03-31 19:12:01 +0200 |
commit | 51395c09ff11f3c21a86c26513d1e5e9274543f1 (patch) | |
tree | eb8116bc3e9ea9d864a4ccc753b6ff3e90881379 /cpp/src/IceUtil/ConsoleUtil.cpp | |
parent | Fixes for ICE-7012 - fixed some leaks in IceSSL/tests (diff) | |
download | ice-51395c09ff11f3c21a86c26513d1e5e9274543f1.tar.bz2 ice-51395c09ff11f3c21a86c26513d1e5e9274543f1.tar.xz ice-51395c09ff11f3c21a86c26513d1e5e9274543f1.zip |
Lazzy initialize ConsoleUtil
That is require to be able to set the process string converter
from application main. Otherwise the converter is created before
the user has a chance to set the process string converter or change
the Windows console CP
Diffstat (limited to 'cpp/src/IceUtil/ConsoleUtil.cpp')
-rw-r--r-- | cpp/src/IceUtil/ConsoleUtil.cpp | 6 |
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; } |