use createsemaphore and waitforsingleobject successor to support winrt

This commit is contained in:
John Sebastian Peterson 2015-03-10 01:26:38 +01:00
parent 02cee0e96e
commit cc8a77b363
1 changed files with 3 additions and 3 deletions

View File

@ -105,7 +105,7 @@ namespace libtorrent
condition_variable::condition_variable() condition_variable::condition_variable()
: m_num_waiters(0) : m_num_waiters(0)
{ {
m_sem = CreateSemaphore(0, 0, INT_MAX, 0); m_sem = CreateSemaphoreEx(0, 0, INT_MAX, 0, 0, SEMAPHORE_ALL_ACCESS);
} }
condition_variable::~condition_variable() condition_variable::~condition_variable()
@ -118,7 +118,7 @@ namespace libtorrent
TORRENT_ASSERT(l.locked()); TORRENT_ASSERT(l.locked());
++m_num_waiters; ++m_num_waiters;
l.unlock(); l.unlock();
WaitForSingleObject(m_sem, INFINITE); WaitForSingleObjectEx(m_sem, INFINITE, FALSE);
l.lock(); l.lock();
--m_num_waiters; --m_num_waiters;
} }
@ -128,7 +128,7 @@ namespace libtorrent
TORRENT_ASSERT(l.locked()); TORRENT_ASSERT(l.locked());
++m_num_waiters; ++m_num_waiters;
l.unlock(); l.unlock();
WaitForSingleObject(m_sem, total_milliseconds(rel_time)); WaitForSingleObjectEx(m_sem, total_milliseconds(rel_time), FALSE);
l.lock(); l.lock();
--m_num_waiters; --m_num_waiters;
} }