diff options
Diffstat (limited to 'cpp/demo/IceUtil/workqueue/WorkQueue.cpp')
-rw-r--r-- | cpp/demo/IceUtil/workqueue/WorkQueue.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/cpp/demo/IceUtil/workqueue/WorkQueue.cpp b/cpp/demo/IceUtil/workqueue/WorkQueue.cpp index be3d270de2e..21e6049ad0f 100644 --- a/cpp/demo/IceUtil/workqueue/WorkQueue.cpp +++ b/cpp/demo/IceUtil/workqueue/WorkQueue.cpp @@ -12,12 +12,34 @@ using namespace std; -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; + +} void mtprint(const string& data) { - IceUtil::StaticMutex::Lock sync(outputMutex); + IceUtil::Mutex::Lock sync(*outputMutex); cout << data << flush; } |