summaryrefslogtreecommitdiff
path: root/cppe/include/IceE/RecMutex.h
diff options
context:
space:
mode:
Diffstat (limited to 'cppe/include/IceE/RecMutex.h')
-rw-r--r--cppe/include/IceE/RecMutex.h110
1 files changed, 0 insertions, 110 deletions
diff --git a/cppe/include/IceE/RecMutex.h b/cppe/include/IceE/RecMutex.h
deleted file mode 100644
index 209a470cfdd..00000000000
--- a/cppe/include/IceE/RecMutex.h
+++ /dev/null
@@ -1,110 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice-E is licensed to you under the terms described in the
-// ICEE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-#ifndef ICEE_RMUTEX_H
-#define ICEE_RMUTEX_H
-
-#include <IceE/Config.h>
-#include <IceE/Lock.h>
-#include <IceE/ThreadException.h>
-
-namespace IceUtil
-{
-
-//
-// Forward declarations for friend.
-//
-class Cond;
-
-//
-// Recursive Mutex implementation.
-//
-class ICE_API RecMutex
-{
-public:
-
- //
- // Lock & TryLock typedefs.
- //
- typedef LockT<RecMutex> Lock;
- typedef TryLockT<RecMutex> TryLock;
-
- RecMutex();
- ~RecMutex();
-
- //
- // Note that lock/tryLock & unlock in general should not be used
- // directly. Instead use Lock & TryLock.
- //
-
- void lock() const;
-
- //
- // Returns true if the lock was acquired, and false otherwise.
- //
- bool tryLock() const;
-
-
- void unlock() const;
-
- //
- // Returns true if the mutex will unlock when calling unlock()
- // (false otherwise). For non-recursive mutexes, this will always
- // return true.
- // This function is used by the Monitor implementation to know whether
- // the Mutex has been locked for the first time, or unlocked for the
- // last time (that is another thread is able to acquire the mutex).
- // Pre-condition: the mutex must be locked.
- //
- bool willUnlock() const;
-
-private:
-
- // noncopyable
- RecMutex(const RecMutex&);
- void operator=(const RecMutex&);
-
- //
- // LockState and the lock/unlock variations are for use by the
- // Condition variable implementation.
- //
-#ifdef _WIN32
- struct LockState
- {
- int count;
- };
-#else
- struct LockState
- {
- pthread_mutex_t* mutex;
- int count;
- };
-#endif
-
- void unlock(LockState&) const;
- void lock(LockState&) const;
-
- friend class Cond;
-
-#ifdef _WIN32
-# if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0400
- mutable CRITICAL_SECTION _mutex;
-# else
- HANDLE _mutex;
-# endif
-#else
- mutable pthread_mutex_t _mutex;
-#endif
-
- mutable int _count;
-};
-
-} // End namespace Ice
-
-#endif