diff options
author | Mark Spruiell <mes@zeroc.com> | 2004-07-17 00:29:21 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2004-07-17 00:29:21 +0000 |
commit | 6b27b852c66b2a66c8ef87b3214a0eda0e4d9cb5 (patch) | |
tree | 5df49096e9f9e845df8e06191cc66b84b307bf6c /cpp/src/Ice/SliceChecksums.cpp | |
parent | restoring some properties; adding some missing ones (diff) | |
download | ice-6b27b852c66b2a66c8ef87b3214a0eda0e4d9cb5.tar.bz2 ice-6b27b852c66b2a66c8ef87b3214a0eda0e4d9cb5.tar.xz ice-6b27b852c66b2a66c8ef87b3214a0eda0e4d9cb5.zip |
thread-safety changes for checksums
Diffstat (limited to 'cpp/src/Ice/SliceChecksums.cpp')
-rw-r--r-- | cpp/src/Ice/SliceChecksums.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/cpp/src/Ice/SliceChecksums.cpp b/cpp/src/Ice/SliceChecksums.cpp index fe6a6c992c2..72117c4bed3 100644 --- a/cpp/src/Ice/SliceChecksums.cpp +++ b/cpp/src/Ice/SliceChecksums.cpp @@ -8,20 +8,26 @@ // ********************************************************************** #include <Ice/SliceChecksums.h> +#include <IceUtil/StaticMutex.h> using namespace std; using namespace Ice; -namespace Ice +static SliceChecksumDict _sliceChecksums; +static IceUtil::StaticMutex _mutex = ICE_STATIC_MUTEX_INITIALIZER; + +SliceChecksumDict +Ice::sliceChecksums() { -const SliceChecksumDict sliceChecksums; + IceUtil::StaticMutex::Lock lock(_mutex); + return _sliceChecksums; } IceInternal::SliceChecksumInit::SliceChecksumInit(const char* checksums[]) { - SliceChecksumDict& m = const_cast<SliceChecksumDict&>(sliceChecksums); + IceUtil::StaticMutex::Lock lock(_mutex); for(int i = 0; checksums[i] != 0; i += 2) { - m.insert(SliceChecksumDict::value_type(checksums[i], checksums[i + 1])); + _sliceChecksums.insert(SliceChecksumDict::value_type(checksums[i], checksums[i + 1])); } } |