remove some warnings.
This commit is contained in:
parent
728c8f9507
commit
48a2a960da
@ -37,7 +37,7 @@ struct accumulate_block
|
||||
template<typename Iterator,typename T>
|
||||
T parallel_accumulate(Iterator first,Iterator last,T init)
|
||||
{
|
||||
unsigned long const length=std::distance(first,last);
|
||||
unsigned long const length=static_cast<unsigned long>(std::distance(first,last));
|
||||
|
||||
if(!length)
|
||||
return init;
|
||||
|
@ -443,7 +443,7 @@
|
||||
// Tell the autolink to link dynamically, this will get undef'ed by auto_link.hpp
|
||||
// once it's done with it:
|
||||
//
|
||||
#if defined(BOOST_THREAD_USE_DLL)
|
||||
#if defined(BOOST_THREAD_USE_DLL) & ! defined(BOOST_DYN_LINK)
|
||||
# define BOOST_DYN_LINK
|
||||
#endif
|
||||
//
|
||||
|
@ -72,7 +72,13 @@ namespace boost
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
#define BOOST_THREAD_LOG \
|
||||
__pragma(warning(suppress:4127)) /* conditional expression is constant */ \
|
||||
if (true) {} else boost::thread_detail::dummy_stream
|
||||
#else
|
||||
#define BOOST_THREAD_LOG if (true) {} else boost::thread_detail::dummy_stream
|
||||
#endif
|
||||
#define BOOST_THREAD_END_LOG boost::thread_detail::dummy_stream
|
||||
|
||||
#endif
|
||||
@ -80,4 +86,13 @@ namespace boost
|
||||
#define BOOST_THREAD_TRACE BOOST_THREAD_LOG << BOOST_THREAD_END_LOG
|
||||
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
#define BOOST_DETAIL_THREAD_LOG \
|
||||
__pragma(warning(suppress:4127)) /* conditional expression is constant */ \
|
||||
if (false) {} else std::cout << std::endl << __FILE__ << "[" << __LINE__ << "]"
|
||||
#else
|
||||
#define BOOST_DETAIL_THREAD_LOG \
|
||||
if (false) {} else std::cout << std::endl << __FILE__ << "[" << __LINE__ << "]"
|
||||
#endif
|
||||
|
||||
#endif // header
|
||||
|
@ -246,7 +246,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if (state_ & write_entered_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::cv_status status = gate1_.wait_until(lk, abs_time);
|
||||
if ((state_ & write_entered_) == 0)
|
||||
@ -258,7 +258,7 @@ namespace boost {
|
||||
state_ |= write_entered_;
|
||||
if (state_ & n_readers_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::cv_status status = gate2_.wait_until(lk, abs_time);
|
||||
if ((state_ & n_readers_) == 0)
|
||||
@ -281,7 +281,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if ((state_ & write_entered_) || (state_ & n_readers_) == n_readers_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::cv_status status = gate1_.wait_until(lk, abs_time);
|
||||
if ((state_ & write_entered_) == 0 &&
|
||||
@ -303,7 +303,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if (state_ & write_entered_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
bool status = gate1_.timed_wait(lk, abs_time);
|
||||
if ((state_ & write_entered_) == 0)
|
||||
@ -315,7 +315,7 @@ namespace boost {
|
||||
state_ |= write_entered_;
|
||||
if (state_ & n_readers_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
bool status = gate2_.timed_wait(lk, abs_time);
|
||||
if ((state_ & n_readers_) == 0)
|
||||
@ -334,7 +334,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if (state_ & write_entered_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
bool status = gate1_.timed_wait(lk, abs_time);
|
||||
if ((state_ & write_entered_) == 0)
|
||||
@ -346,7 +346,7 @@ namespace boost {
|
||||
state_ |= write_entered_;
|
||||
if (state_ & n_readers_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
bool status = gate2_.timed_wait(lk, abs_time);
|
||||
if ((state_ & n_readers_) == 0)
|
||||
@ -524,7 +524,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if (state_ & (write_entered_ | upgradable_entered_))
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::cv_status status = gate1_.wait_until(lk, abs_time);
|
||||
if ((state_ & (write_entered_ | upgradable_entered_)) == 0)
|
||||
@ -536,7 +536,7 @@ namespace boost {
|
||||
state_ |= write_entered_;
|
||||
if (state_ & n_readers_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::cv_status status = gate2_.wait_until(lk, abs_time);
|
||||
if ((state_ & n_readers_) == 0)
|
||||
@ -559,7 +559,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if ((state_ & write_entered_) || (state_ & n_readers_) == n_readers_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::cv_status status = gate1_.wait_until(lk, abs_time);
|
||||
if ((state_ & write_entered_) == 0 &&
|
||||
@ -584,7 +584,7 @@ namespace boost {
|
||||
if ((state_ & (write_entered_ | upgradable_entered_)) ||
|
||||
(state_ & n_readers_) == n_readers_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::cv_status status = gate1_.wait_until(lk, abs_time);
|
||||
if ((state_ & (write_entered_ | upgradable_entered_)) == 0 &&
|
||||
@ -606,7 +606,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if (state_ & (write_entered_ | upgradable_entered_))
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
bool status = gate1_.timed_wait(lk, abs_time);
|
||||
if ((state_ & (write_entered_ | upgradable_entered_)) == 0)
|
||||
@ -618,7 +618,7 @@ namespace boost {
|
||||
state_ |= write_entered_;
|
||||
if (state_ & n_readers_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
bool status = gate2_.timed_wait(lk, abs_time);
|
||||
if ((state_ & n_readers_) == 0)
|
||||
@ -637,7 +637,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if ((state_ & write_entered_) || (state_ & n_readers_) == n_readers_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
bool status = gate1_.timed_wait(lk, abs_time);
|
||||
if ((state_ & write_entered_) == 0 &&
|
||||
@ -658,7 +658,7 @@ namespace boost {
|
||||
if ((state_ & (write_entered_ | upgradable_entered_)) ||
|
||||
(state_ & n_readers_) == n_readers_)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
bool status = gate1_.timed_wait(lk, abs_time);
|
||||
if ((state_ & (write_entered_ | upgradable_entered_)) == 0 &&
|
||||
@ -683,7 +683,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if (state_ != 1)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::cv_status status = gate2_.wait_until(lk, abs_time);
|
||||
if (state_ == 1)
|
||||
@ -704,7 +704,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if ((state_ & (write_entered_ | upgradable_entered_)) != 0)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::cv_status status = gate2_.wait_until(lk, abs_time);
|
||||
if ((state_ & (write_entered_ | upgradable_entered_)) == 0)
|
||||
@ -725,7 +725,7 @@ namespace boost {
|
||||
boost::unique_lock<mutex_t> lk(mut_);
|
||||
if ((state_ & n_readers_) != 1)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::cv_status status = gate2_.wait_until(lk, abs_time);
|
||||
if ((state_ & n_readers_) == 1)
|
||||
|
@ -40,7 +40,7 @@ namespace boost
|
||||
pthread::pthread_mutex_scoped_lock lk(&once_mutex);
|
||||
if (f.load(memory_order_acquire) != initialized)
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
atomic_int_type expected = uninitialized;
|
||||
if (f.compare_exchange_strong(expected, in_progress, memory_order_acq_rel, memory_order_acquire))
|
||||
|
@ -51,7 +51,7 @@ void f()
|
||||
boost::shared_lock<boost::shared_mutex> lk(m, boost::try_to_lock);
|
||||
BOOST_TEST(lk.owns_lock() == false);
|
||||
}
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::shared_lock<boost::shared_mutex> lk(m, boost::try_to_lock);
|
||||
if (lk.owns_lock()) break;
|
||||
@ -74,7 +74,7 @@ void f()
|
||||
// boost::shared_lock<boost::shared_mutex> lk(m, boost::try_to_lock);
|
||||
// BOOST_TEST(lk.owns_lock() == false);
|
||||
// }
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::shared_lock<boost::shared_mutex> lk(m, boost::try_to_lock);
|
||||
if (lk.owns_lock()) break;
|
||||
|
@ -103,7 +103,7 @@ void f()
|
||||
// boost::unique_lock<boost::mutex> lk(m, boost::try_to_lock);
|
||||
// BOOST_TEST(lk.owns_lock() == false);
|
||||
// }
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
#if ! defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)
|
||||
auto
|
||||
|
@ -71,7 +71,7 @@ int main()
|
||||
{
|
||||
m.lock();
|
||||
boost::thread t(f2);
|
||||
boost::this_thread::sleep_for(ms(300));
|
||||
boost::this_thread::sleep_for(ms(350));
|
||||
m.unlock();
|
||||
t.join();
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ void f()
|
||||
boost::unique_lock<boost::mutex> lk(m, boost::try_to_lock);
|
||||
BOOST_TEST(lk.owns_lock() == false);
|
||||
}
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lk(m, boost::try_to_lock);
|
||||
if (lk.owns_lock()) break;
|
||||
@ -76,7 +76,7 @@ void f()
|
||||
// boost::unique_lock<boost::mutex> lk(m, boost::try_to_lock);
|
||||
// BOOST_TEST(lk.owns_lock() == false);
|
||||
// }
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lk(m, boost::try_to_lock);
|
||||
if (lk.owns_lock()) break;
|
||||
|
@ -51,7 +51,7 @@ void f()
|
||||
boost::upgrade_lock<boost::shared_mutex> lk(m, boost::try_to_lock);
|
||||
BOOST_TEST(lk.owns_lock() == false);
|
||||
}
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::upgrade_lock<boost::shared_mutex> lk(m, boost::try_to_lock);
|
||||
if (lk.owns_lock()) break;
|
||||
@ -75,7 +75,7 @@ void f()
|
||||
// boost::upgrade_lock<boost::shared_mutex> lk(m, boost::try_to_lock);
|
||||
// BOOST_TEST(lk.owns_lock() == false);
|
||||
// }
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::upgrade_lock<boost::shared_mutex> lk(m, boost::try_to_lock);
|
||||
if (lk.owns_lock()) break;
|
||||
|
@ -20,7 +20,7 @@ void f()
|
||||
try
|
||||
{
|
||||
std::cout << "Starting sleep in thread" << std::endl;
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
boost::this_thread::sleep_for(seconds(60));
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ boost::shared_mutex mutex;
|
||||
void thread2_func()
|
||||
{
|
||||
int i (0);
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
if (mutex.timed_lock(boost::posix_time::milliseconds(500)))
|
||||
{
|
||||
@ -46,7 +46,7 @@ void thread3_func()
|
||||
|
||||
void thread3_func_workaround()
|
||||
{
|
||||
while (true)
|
||||
for (;;)
|
||||
{
|
||||
if (mutex.timed_lock_shared(boost::posix_time::milliseconds(200)))
|
||||
{
|
||||
|
@ -44,7 +44,7 @@ int main()
|
||||
|
||||
//BOOST_LOG_TRIVIAL(info) << "[TaskScheduler::run_and_wait] Scheduling loop - BEGIN";
|
||||
|
||||
//while (true)
|
||||
//for (;;)
|
||||
{
|
||||
static const milliseconds TIME_BACK = milliseconds(1);
|
||||
m_task_spawn_condition.wait_until(
|
||||
|
@ -15,12 +15,10 @@
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <boost/thread/detail/log.hpp>
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#define LOG \
|
||||
if (false) {} else std::cout << std::endl << __FILE__ << "[" << __LINE__ << "]"
|
||||
|
||||
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
template<typename T>
|
||||
typename boost::remove_reference<T>::type&& cast_to_rval(T&& t)
|
||||
@ -96,26 +94,26 @@ void set_promise_exception_thread(boost::promise<int>* p)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_store_value_from_thread)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
try {
|
||||
boost::promise<int> pi2;
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::unique_future<int> fi2(BOOST_THREAD_MAKE_RV_REF(pi2.get_future()));
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::thread(set_promise_thread,&pi2);
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
int j=fi2.get();
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
BOOST_CHECK(j==42);
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
BOOST_CHECK(fi2.is_ready());
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
BOOST_CHECK(fi2.has_value());
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
BOOST_CHECK(!fi2.has_exception());
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
BOOST_CHECK(fi2.get_state()==boost::future_state::ready);
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
@ -125,7 +123,7 @@ BOOST_AUTO_TEST_CASE(test_store_value_from_thread)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_store_exception)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<int> pi3;
|
||||
boost::unique_future<int> fi3(BOOST_THREAD_MAKE_RV_REF(pi3.get_future()));
|
||||
boost::thread(set_promise_exception_thread,&pi3);
|
||||
@ -147,7 +145,7 @@ BOOST_AUTO_TEST_CASE(test_store_exception)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_initial_state)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::unique_future<int> fi;
|
||||
BOOST_CHECK(!fi.is_ready());
|
||||
BOOST_CHECK(!fi.has_value());
|
||||
@ -168,7 +166,7 @@ BOOST_AUTO_TEST_CASE(test_initial_state)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_waiting_future)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<int> pi;
|
||||
boost::unique_future<int> fi;
|
||||
fi=BOOST_THREAD_MAKE_RV_REF(pi.get_future());
|
||||
@ -183,7 +181,7 @@ BOOST_AUTO_TEST_CASE(test_waiting_future)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_cannot_get_future_twice)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<int> pi;
|
||||
BOOST_THREAD_MAKE_RV_REF(pi.get_future());
|
||||
|
||||
@ -200,7 +198,7 @@ BOOST_AUTO_TEST_CASE(test_cannot_get_future_twice)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_set_value_updates_future_state)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<int> pi;
|
||||
boost::unique_future<int> fi;
|
||||
fi=BOOST_THREAD_MAKE_RV_REF(pi.get_future());
|
||||
@ -215,7 +213,7 @@ BOOST_AUTO_TEST_CASE(test_set_value_updates_future_state)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_set_value_can_be_retrieved)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<int> pi;
|
||||
boost::unique_future<int> fi;
|
||||
fi=BOOST_THREAD_MAKE_RV_REF(pi.get_future());
|
||||
@ -233,7 +231,7 @@ BOOST_AUTO_TEST_CASE(test_set_value_can_be_retrieved)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_set_value_can_be_moved)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
// boost::promise<int> pi;
|
||||
// boost::unique_future<int> fi;
|
||||
// fi=BOOST_THREAD_MAKE_RV_REF(pi.get_future());
|
||||
@ -251,7 +249,7 @@ BOOST_AUTO_TEST_CASE(test_set_value_can_be_moved)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_future_from_packaged_task_is_waiting)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int);
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
int i=0;
|
||||
@ -264,7 +262,7 @@ BOOST_AUTO_TEST_CASE(test_future_from_packaged_task_is_waiting)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_invoking_a_packaged_task_populates_future)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int);
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
|
||||
@ -281,7 +279,7 @@ BOOST_AUTO_TEST_CASE(test_invoking_a_packaged_task_populates_future)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_invoking_a_packaged_task_twice_throws)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int);
|
||||
|
||||
pt();
|
||||
@ -299,7 +297,7 @@ BOOST_AUTO_TEST_CASE(test_invoking_a_packaged_task_twice_throws)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_cannot_get_future_twice_from_task)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int);
|
||||
pt.get_future();
|
||||
try
|
||||
@ -315,7 +313,7 @@ BOOST_AUTO_TEST_CASE(test_cannot_get_future_twice_from_task)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_task_stores_exception_if_function_throws)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(throw_runtime_error);
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
|
||||
@ -343,7 +341,7 @@ BOOST_AUTO_TEST_CASE(test_task_stores_exception_if_function_throws)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_void_promise)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<void> p;
|
||||
boost::unique_future<void> f(BOOST_THREAD_MAKE_RV_REF(p.get_future()));
|
||||
p.set_value();
|
||||
@ -356,7 +354,7 @@ BOOST_AUTO_TEST_CASE(test_void_promise)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_reference_promise)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<int&> p;
|
||||
boost::unique_future<int&> f(BOOST_THREAD_MAKE_RV_REF(p.get_future()));
|
||||
int i=42;
|
||||
@ -373,7 +371,7 @@ void do_nothing()
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_task_returning_void)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<void> pt(do_nothing);
|
||||
boost::unique_future<void> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
|
||||
@ -394,7 +392,7 @@ int& return_ref()
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_task_returning_reference)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int&> pt(return_ref);
|
||||
boost::unique_future<int&> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
|
||||
@ -410,7 +408,7 @@ BOOST_AUTO_TEST_CASE(test_task_returning_reference)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_shared_future)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int);
|
||||
boost::unique_future<int> fi=pt.get_future();
|
||||
|
||||
@ -430,7 +428,7 @@ BOOST_AUTO_TEST_CASE(test_shared_future)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_copies_of_shared_future_become_ready_together)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int);
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
|
||||
@ -469,7 +467,7 @@ BOOST_AUTO_TEST_CASE(test_copies_of_shared_future_become_ready_together)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_shared_future_can_be_move_assigned_from_unique_future)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int);
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
|
||||
@ -485,7 +483,7 @@ BOOST_AUTO_TEST_CASE(test_shared_future_can_be_move_assigned_from_unique_future)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_shared_future_void)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<void> pt(do_nothing);
|
||||
boost::unique_future<void> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
|
||||
@ -503,7 +501,7 @@ BOOST_AUTO_TEST_CASE(test_shared_future_void)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_shared_future_ref)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<int&> p;
|
||||
boost::shared_future<int&> f(BOOST_THREAD_MAKE_RV_REF(p.get_future()));
|
||||
int i=42;
|
||||
@ -517,7 +515,7 @@ BOOST_AUTO_TEST_CASE(test_shared_future_ref)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_can_get_a_second_future_from_a_moved_promise)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<int> pi;
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pi.get_future()));
|
||||
|
||||
@ -535,7 +533,7 @@ BOOST_AUTO_TEST_CASE(test_can_get_a_second_future_from_a_moved_promise)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_can_get_a_second_future_from_a_moved_void_promise)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<void> pi;
|
||||
boost::unique_future<void> fi(BOOST_THREAD_MAKE_RV_REF(pi.get_future()));
|
||||
|
||||
@ -551,7 +549,7 @@ BOOST_AUTO_TEST_CASE(test_can_get_a_second_future_from_a_moved_void_promise)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_unique_future_for_move_only_udt)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<X> pt;
|
||||
boost::unique_future<X> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
|
||||
@ -562,7 +560,7 @@ BOOST_AUTO_TEST_CASE(test_unique_future_for_move_only_udt)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_unique_future_for_string)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::promise<std::string> pt;
|
||||
boost::unique_future<std::string> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
|
||||
@ -613,7 +611,7 @@ void do_nothing_callback(boost::promise<int>& /*pi*/)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_callback)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
callback_called=0;
|
||||
boost::promise<int> pi;
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pi.get_future()));
|
||||
@ -628,7 +626,7 @@ BOOST_AUTO_TEST_CASE(test_wait_callback)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_callback_with_timed_wait)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
callback_called=0;
|
||||
boost::promise<int> pi;
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pi.get_future()));
|
||||
@ -652,7 +650,7 @@ BOOST_AUTO_TEST_CASE(test_wait_callback_with_timed_wait)
|
||||
|
||||
void wait_callback_for_task(boost::packaged_task<int>& pt)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::lock_guard<boost::mutex> lk(callback_mutex);
|
||||
++callback_called;
|
||||
try
|
||||
@ -667,7 +665,7 @@ void wait_callback_for_task(boost::packaged_task<int>& pt)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_callback_for_packaged_task)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
callback_called=0;
|
||||
boost::packaged_task<int> pt(make_int);
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
@ -682,7 +680,7 @@ BOOST_AUTO_TEST_CASE(test_wait_callback_for_packaged_task)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_packaged_task_can_be_moved)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int);
|
||||
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
@ -710,7 +708,7 @@ BOOST_AUTO_TEST_CASE(test_packaged_task_can_be_moved)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_destroying_a_promise_stores_broken_promise)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::unique_future<int> f;
|
||||
|
||||
{
|
||||
@ -730,7 +728,7 @@ BOOST_AUTO_TEST_CASE(test_destroying_a_promise_stores_broken_promise)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_destroying_a_packaged_task_stores_broken_promise)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::unique_future<int> f;
|
||||
|
||||
{
|
||||
@ -756,7 +754,7 @@ int make_int_slowly()
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_two_futures_1)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -774,7 +772,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_two_futures_1)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_two_futures_2)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -792,7 +790,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_two_futures_2)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_three_futures_1)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -813,7 +811,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_three_futures_1)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_three_futures_2)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -834,7 +832,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_three_futures_2)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_three_futures_3)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -855,7 +853,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_three_futures_3)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_four_futures_1)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -879,7 +877,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_four_futures_1)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_four_futures_2)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -903,7 +901,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_four_futures_2)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_four_futures_3)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -927,7 +925,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_four_futures_3)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_four_futures_4)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -951,7 +949,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_four_futures_4)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_five_futures_1)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -978,7 +976,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_five_futures_1)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_five_futures_2)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -1004,7 +1002,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_five_futures_2)
|
||||
}
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_five_futures_3)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -1030,7 +1028,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_five_futures_3)
|
||||
}
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_five_futures_4)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -1056,7 +1054,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_five_futures_4)
|
||||
}
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_of_five_futures_5)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> f1(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
boost::packaged_task<int> pt2(make_int_slowly);
|
||||
@ -1083,7 +1081,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_of_five_futures_5)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_either_invokes_callbacks)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
callback_called=0;
|
||||
boost::packaged_task<int> pt(make_int_slowly);
|
||||
boost::unique_future<int> fi(BOOST_THREAD_MAKE_RV_REF(pt.get_future()));
|
||||
@ -1100,7 +1098,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_either_invokes_callbacks)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_any_from_range)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
unsigned const count=10;
|
||||
for(unsigned i=0;i<count;++i)
|
||||
{
|
||||
@ -1135,7 +1133,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_any_from_range)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_all_from_range)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
unsigned const count=10;
|
||||
boost::unique_future<int> futures[count];
|
||||
for(unsigned j=0;j<count;++j)
|
||||
@ -1155,7 +1153,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_all_from_range)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_all_two_futures)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
unsigned const count=2;
|
||||
boost::unique_future<int> futures[count];
|
||||
for(unsigned j=0;j<count;++j)
|
||||
@ -1175,7 +1173,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_all_two_futures)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_all_three_futures)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
unsigned const count=3;
|
||||
boost::unique_future<int> futures[count];
|
||||
for(unsigned j=0;j<count;++j)
|
||||
@ -1195,7 +1193,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_all_three_futures)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_all_four_futures)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
unsigned const count=4;
|
||||
boost::unique_future<int> futures[count];
|
||||
for(unsigned j=0;j<count;++j)
|
||||
@ -1215,7 +1213,7 @@ BOOST_AUTO_TEST_CASE(test_wait_for_all_four_futures)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_wait_for_all_five_futures)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
unsigned const count=5;
|
||||
boost::unique_future<int> futures[count];
|
||||
for(unsigned j=0;j<count;++j)
|
||||
|
@ -13,8 +13,7 @@
|
||||
#include <boost/thread/once.hpp>
|
||||
#include <iostream>
|
||||
|
||||
#define LOG \
|
||||
if (false) {} else std::cout << std::endl << __FILE__ << "[" << __LINE__ << "]"
|
||||
#include <boost/thread/detail/log.hpp>
|
||||
|
||||
boost::once_flag flag=BOOST_ONCE_INIT;
|
||||
int var_to_init=0;
|
||||
@ -47,7 +46,7 @@ void call_once_thread()
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_call_once)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
|
||||
unsigned const num_threads=20;
|
||||
boost::thread_group group;
|
||||
@ -106,7 +105,7 @@ void call_once_with_functor()
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_call_once_arbitrary_functor)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
|
||||
unsigned const num_threads=20;
|
||||
boost::thread_group group;
|
||||
@ -167,7 +166,7 @@ void call_once_with_exception()
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_call_once_retried_on_exception)
|
||||
{
|
||||
LOG;
|
||||
BOOST_DETAIL_THREAD_LOG;
|
||||
unsigned const num_threads=20;
|
||||
boost::thread_group group;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user