diff options
Diffstat (limited to 'cpp/src/IceUtil/RecMutex.cpp')
-rw-r--r-- | cpp/src/IceUtil/RecMutex.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cpp/src/IceUtil/RecMutex.cpp b/cpp/src/IceUtil/RecMutex.cpp index 9558a6fed2b..46209f55bc6 100644 --- a/cpp/src/IceUtil/RecMutex.cpp +++ b/cpp/src/IceUtil/RecMutex.cpp @@ -79,6 +79,21 @@ IceUtil::RecMutex::unlock() const } } +# ifdef ICE_HAS_WIN32_CONDVAR +void +IceUtil::RecMutex::unlock(LockState& state) const +{ + state.mutex = &_mutex; + state.count = _count; + _count = 0; +} + +void +IceUtil::RecMutex::lock(LockState& state) const +{ + _count = state.count; +} +# else void IceUtil::RecMutex::unlock(LockState& state) const { @@ -93,6 +108,7 @@ IceUtil::RecMutex::lock(LockState& state) const EnterCriticalSection(&_mutex); _count = state.count; } +# endif #else |