diff options
author | Bernard Normier <bernard@zeroc.com> | 2012-08-09 15:40:44 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2012-08-09 15:40:44 -0400 |
commit | 87ae1f009ce03d18e459ad8d66050da9a9f63144 (patch) | |
tree | 40118e7d5f3ce44688de309d6c8c4e13a26b6ac3 /cpp/src/IceUtil/Cond.cpp | |
parent | WinRT Endpoint fixes for encoding11 (diff) | |
download | ice-87ae1f009ce03d18e459ad8d66050da9a9f63144.tar.bz2 ice-87ae1f009ce03d18e459ad8d66050da9a9f63144.tar.xz ice-87ae1f009ce03d18e459ad8d66050da9a9f63144.zip |
Added native cond-var implementation on Windows (bug #2667)
for Visual Studio 2012 and up
Removed all #define and checks for _WIN32_WINNT (no longer needed)
Misc build fixes for Visual Studio
IceUtil/Config.h cleanup (minor)
Diffstat (limited to 'cpp/src/IceUtil/Cond.cpp')
-rw-r--r-- | cpp/src/IceUtil/Cond.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/cpp/src/IceUtil/Cond.cpp b/cpp/src/IceUtil/Cond.cpp index a0f71460f1e..6cfa0700838 100644 --- a/cpp/src/IceUtil/Cond.cpp +++ b/cpp/src/IceUtil/Cond.cpp @@ -15,6 +15,31 @@ #ifdef _WIN32 +# ifdef ICE_HAS_WIN32_CONDVAR + +IceUtil::Cond::Cond() +{ + InitializeConditionVariable(&_cond); +} + +IceUtil::Cond::~Cond() +{ +} + +void +IceUtil::Cond::signal() +{ + WakeConditionVariable(&_cond); +} + +void +IceUtil::Cond::broadcast() +{ + WakeAllConditionVariable(&_cond); +} + +# else + IceUtilInternal::Semaphore::Semaphore(long initial) { #ifndef ICE_OS_WINRT @@ -305,6 +330,8 @@ IceUtil::Cond::timedDowait(const Time& timeout) const } } +# endif // ICE_HAS_WIN32_CONDVAR + #else IceUtil::Cond::Cond() |