std::condvar is broken on Win32 with gcc/g++ 4.8 too

Use boost...
This commit is contained in:
Howard Chu 2016-01-26 22:09:08 +00:00
parent 7c86c5997d
commit 014f8868f2
2 changed files with 6 additions and 8 deletions

View File

@ -30,8 +30,6 @@
#ifndef __WINH_OBJ_H__
#define __WINH_OBJ_H__
#include <condition_variable>
#include <mutex>
#include <boost/thread/locks.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/recursive_mutex.hpp>
@ -51,22 +49,22 @@ namespace epee
void raise()
{
std::unique_lock<std::mutex> lock(m_mx);
boost::unique_lock<boost::mutex> lock(m_mx);
m_rised = true;
m_cond_var.notify_one();
}
void wait()
{
std::unique_lock<std::mutex> lock(m_mx);
boost::unique_lock<boost::mutex> lock(m_mx);
while (!m_rised)
m_cond_var.wait(lock);
m_rised = false;
}
private:
std::mutex m_mx;
std::condition_variable m_cond_var;
boost::mutex m_mx;
boost::condition_variable m_cond_var;
bool m_rised;
};

View File

@ -38,7 +38,7 @@
using namespace epee;
namespace bf = boost::filesystem;
static std::mutex instance_lock;
static boost::mutex instance_lock;
namespace
{
@ -304,7 +304,7 @@ std::string DNSResolver::get_dns_format_from_oa_address(const std::string& oa_ad
DNSResolver& DNSResolver::instance()
{
std::lock_guard<std::mutex> lock(instance_lock);
boost::lock_guard<boost::mutex> lock(instance_lock);
static DNSResolver* staticInstance = NULL;
if (staticInstance == NULL)