diff options
author | Jose <jose@zeroc.com> | 2012-02-21 17:27:39 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2012-02-21 17:27:39 +0100 |
commit | c89f15e0dc2f9358d883160bc69a0879a24a58b2 (patch) | |
tree | e8e84cf9e2f84dc59e5c9c8ef5a6ea59fcb6305d /cpp/include/IceUtil/StaticMutex.h | |
parent | ICE-4740 - Timer for mac doesn't implement monotonic time (diff) | |
download | ice-c89f15e0dc2f9358d883160bc69a0879a24a58b2.tar.bz2 ice-c89f15e0dc2f9358d883160bc69a0879a24a58b2.tar.xz ice-c89f15e0dc2f9358d883160bc69a0879a24a58b2.zip |
ICE-4753 - Remove StaticMutex & RWRecMutex
Diffstat (limited to 'cpp/include/IceUtil/StaticMutex.h')
-rw-r--r-- | cpp/include/IceUtil/StaticMutex.h | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/cpp/include/IceUtil/StaticMutex.h b/cpp/include/IceUtil/StaticMutex.h deleted file mode 100644 index 009f39c6b03..00000000000 --- a/cpp/include/IceUtil/StaticMutex.h +++ /dev/null @@ -1,119 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -#ifndef ICE_UTIL_STATIC_MUTEX_H -#define ICE_UTIL_STATIC_MUTEX_H - -#include <IceUtil/Config.h> -#include <IceUtil/Lock.h> -#include <IceUtil/ThreadException.h> - -#if defined(_MSC_VER) && (_MSC_VER < 1300) -// -// Old versions of the Platform SDK don't have InterlockedCompareExchangePointer -// -# ifndef InterlockedCompareExchangePointer -# define InterlockedCompareExchangePointer(Destination, ExChange, Comperand) \ - InterlockedCompareExchange(Destination, ExChange, Comperand) -# endif -#endif - -namespace IceUtil -{ - -// -// Forward declaration for friend. -// -class Cond; - -// -// Simple non-recursive Mutex implementation. -// These mutexes are POD types (see ISO C++ 9(4) and 8.5.1) and must be -// initialized statically using ICE_STATIC_MUTEX_INITIALIZER. -// - -// -class ICE_UTIL_API StaticMutex -{ -public: - - // - // Lock & TryLock typedefs. - // - typedef LockT<StaticMutex> Lock; - typedef TryLockT<StaticMutex> TryLock; - - // - // Note that lock/tryLock & unlock in general should not be used - // directly. Instead use Lock & TryLock. - // - - ICE_DEPRECATED_API void lock() const; - - // - // Returns true if the lock was acquired, and false otherwise. - // - ICE_DEPRECATED_API bool tryLock() const; - - ICE_DEPRECATED_API void unlock() const; - - -#ifdef _WIN32 - ICE_DEPRECATED_API mutable CRITICAL_SECTION* _mutex; -#else - ICE_DEPRECATED_API mutable pthread_mutex_t _mutex; -#endif - - - -#if !defined(_MSC_VER) && !defined(__BCPLUSPLUS__) -// COMPILERBUG -// VC++ BC++ considers that aggregates should not have private members ... -// even if it's just functions. -private: -#endif - - // - // LockState and the lock/unlock variations are for use by the - // Condition variable implementation. - // -#ifdef _WIN32 - struct LockState - { - }; -#else - struct LockState - { - pthread_mutex_t* mutex; - }; -#endif - - void unlock(LockState&) const; - void lock(LockState&) const; - -#ifdef _WIN32 - bool initialized() const; - void initialize() const; -#endif - -#ifndef _MSC_VER - friend class Cond; -#endif - -}; - -#ifdef _WIN32 -# define ICE_STATIC_MUTEX_INITIALIZER { 0 } -#else -# define ICE_STATIC_MUTEX_INITIALIZER { PTHREAD_MUTEX_INITIALIZER } -#endif - -} // End namespace IceUtil - -#endif |