summaryrefslogtreecommitdiff
path: root/cpp/demo/IceUtil/workqueue/WorkQueue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/demo/IceUtil/workqueue/WorkQueue.cpp')
-rw-r--r--cpp/demo/IceUtil/workqueue/WorkQueue.cpp26
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;
}