mirror of
https://github.com/boostorg/thread.git
synced 2026-02-14 01:02:14 +00:00
Compare commits
17 Commits
boost-1.72
...
feature/bo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c13beec81c | ||
|
|
9b0e0714f0 | ||
|
|
a2492a49af | ||
|
|
25ea5c83ed | ||
|
|
1623ca9e05 | ||
|
|
b1d20a5ce7 | ||
|
|
5f9a247e0b | ||
|
|
9efc377980 | ||
|
|
5589c69547 | ||
|
|
74fb0a2609 | ||
|
|
1eb8efbad7 | ||
|
|
76ce71930f | ||
|
|
2e0bae88f7 | ||
|
|
5507e47ac2 | ||
|
|
2492e7a48c | ||
|
|
0ee9ad87eb | ||
|
|
47fd6b85e3 |
12
appveyor.yml
12
appveyor.yml
@@ -15,7 +15,7 @@ branches:
|
|||||||
|
|
||||||
environment:
|
environment:
|
||||||
matrix:
|
matrix:
|
||||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
# TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0,msvc-12.0
|
# TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0,msvc-12.0
|
||||||
TOOLSET: msvc-12.0
|
TOOLSET: msvc-12.0
|
||||||
SELF_CONTAINED_HEADER_TESTS: 1
|
SELF_CONTAINED_HEADER_TESTS: 1
|
||||||
@@ -26,22 +26,22 @@ environment:
|
|||||||
TOOLSET: msvc-14.1
|
TOOLSET: msvc-14.1
|
||||||
CXXSTD: 17
|
CXXSTD: 17
|
||||||
ADDRMD: 64
|
ADDRMD: 64
|
||||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
ADDPATH: C:\cygwin\bin;
|
ADDPATH: C:\cygwin\bin;
|
||||||
TOOLSET: gcc
|
TOOLSET: gcc
|
||||||
CXXSTD: 14
|
CXXSTD: 14
|
||||||
SELF_CONTAINED_HEADER_TESTS: 1
|
SELF_CONTAINED_HEADER_TESTS: 1
|
||||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
ADDPATH: C:\cygwin64\bin;
|
ADDPATH: C:\cygwin64\bin;
|
||||||
TOOLSET: gcc
|
TOOLSET: gcc
|
||||||
CXXSTD: 14
|
CXXSTD: 14
|
||||||
SELF_CONTAINED_HEADER_TESTS: 1
|
SELF_CONTAINED_HEADER_TESTS: 1
|
||||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
ADDPATH: C:\mingw\bin;
|
ADDPATH: C:\mingw\bin;
|
||||||
TOOLSET: gcc
|
TOOLSET: gcc
|
||||||
CXXSTD: 14
|
CXXSTD: 14
|
||||||
SELF_CONTAINED_HEADER_TESTS: 1
|
SELF_CONTAINED_HEADER_TESTS: 1
|
||||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;
|
ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;
|
||||||
TOOLSET: gcc
|
TOOLSET: gcc
|
||||||
CXXSTD: 14
|
CXXSTD: 14
|
||||||
@@ -70,4 +70,4 @@ test_script:
|
|||||||
- if "%SELF_CONTAINED_HEADER_TESTS%" == "" set BOOST_THREAD_TEST_WITHOUT_SELF_CONTAINED_HEADER_TESTS=1
|
- if "%SELF_CONTAINED_HEADER_TESTS%" == "" set BOOST_THREAD_TEST_WITHOUT_SELF_CONTAINED_HEADER_TESTS=1
|
||||||
- if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD%
|
- if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD%
|
||||||
- if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD%
|
- if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD%
|
||||||
- b2 -j %NUMBER_OF_PROCESSORS% libs/thread/test toolset=%TOOLSET% %CXXSTD% %ADDRMD% variant=debug,release
|
- b2 -j %NUMBER_OF_PROCESSORS% --abbreviate-paths libs/thread/test toolset=%TOOLSET% %CXXSTD% %ADDRMD% variant=debug,release
|
||||||
|
|||||||
@@ -303,7 +303,7 @@ When `BOOST_THREAD_VERSION>=4` define `BOOST_THREAD_DONT_PROVIDE_SIGNATURE_PACKA
|
|||||||
|
|
||||||
[section:thread_const-var thread constructor with variadic rvalue parameters]
|
[section:thread_const-var thread constructor with variadic rvalue parameters]
|
||||||
|
|
||||||
C++11 thread constructor accep a variable number of rvalue argumentshas. When `BOOST_THREAD_PROVIDES_VARIADIC_THREAD ` is defined Boost.Thread provides this C++ feature if the following are not defined
|
C++11 thread constructor accept a variable number of rvalue arguments has. When `BOOST_THREAD_PROVIDES_VARIADIC_THREAD ` is defined Boost.Thread provides this C++ feature if the following are not defined
|
||||||
|
|
||||||
* BOOST_NO_SFINAE_EXPR
|
* BOOST_NO_SFINAE_EXPR
|
||||||
* BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
* BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
//
|
//
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
|
|
||||||
#include <boost/thread/detail/config.hpp>
|
#include <boost/thread/detail/config.hpp>
|
||||||
#include <boost/thread/condition_variable.hpp>
|
#include <boost/thread/condition_variable.hpp>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
//
|
//
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
|
|
||||||
#include <boost/thread/detail/config.hpp>
|
#include <boost/thread/detail/config.hpp>
|
||||||
#include <boost/thread/condition_variable.hpp>
|
#include <boost/thread/condition_variable.hpp>
|
||||||
|
|||||||
@@ -655,7 +655,7 @@ namespace concurrent
|
|||||||
queue_op_status sync_bounded_queue<ValueType>::wait_push_back(BOOST_THREAD_RV_REF(ValueType) elem)
|
queue_op_status sync_bounded_queue<ValueType>::wait_push_back(BOOST_THREAD_RV_REF(ValueType) elem)
|
||||||
{
|
{
|
||||||
unique_lock<mutex> lk(mtx_);
|
unique_lock<mutex> lk(mtx_);
|
||||||
return try_push_back(boost::move(elem), lk);
|
return wait_push_back(boost::move(elem), lk);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -470,7 +470,8 @@
|
|||||||
#else //Use default
|
#else //Use default
|
||||||
# if defined(BOOST_THREAD_PLATFORM_WIN32)
|
# if defined(BOOST_THREAD_PLATFORM_WIN32)
|
||||||
# if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) \
|
# if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) \
|
||||||
|| defined(__MINGW32__) || defined(MINGW32) || defined(BOOST_MINGW32)
|
|| defined(__MINGW32__) || defined(MINGW32) || defined(BOOST_MINGW32) \
|
||||||
|
|| (defined(_MSC_VER) && defined(__clang__))
|
||||||
//For compilers supporting auto-tss cleanup
|
//For compilers supporting auto-tss cleanup
|
||||||
//with Boost.Threads lib, use Boost.Threads lib
|
//with Boost.Threads lib, use Boost.Threads lib
|
||||||
# define BOOST_THREAD_USE_LIB
|
# define BOOST_THREAD_USE_LIB
|
||||||
|
|||||||
@@ -29,7 +29,6 @@
|
|||||||
#include <boost/static_assert.hpp>
|
#include <boost/static_assert.hpp>
|
||||||
#include <boost/thread/detail/move.hpp>
|
#include <boost/thread/detail/move.hpp>
|
||||||
#include <boost/core/enable_if.hpp>
|
#include <boost/core/enable_if.hpp>
|
||||||
#include <boost/mpl/bool.hpp>
|
|
||||||
#include <boost/type_traits/is_base_of.hpp>
|
#include <boost/type_traits/is_base_of.hpp>
|
||||||
#include <boost/type_traits/is_pointer.hpp>
|
#include <boost/type_traits/is_pointer.hpp>
|
||||||
#include <boost/type_traits/is_member_function_pointer.hpp>
|
#include <boost/type_traits/is_member_function_pointer.hpp>
|
||||||
@@ -531,13 +530,13 @@ namespace boost
|
|||||||
// f(t1, t2, ..., tN) in all other cases.
|
// f(t1, t2, ..., tN) in all other cases.
|
||||||
|
|
||||||
template <class Ret, class Fp, class ...Args>
|
template <class Ret, class Fp, class ...Args>
|
||||||
inline Ret do_invoke(mpl::false_, BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(Args) ...args)
|
inline Ret do_invoke(boost::false_type, BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(Args) ...args)
|
||||||
{
|
{
|
||||||
return boost::forward<Fp>(f)(boost::forward<Args>(args)...);
|
return boost::forward<Fp>(f)(boost::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class Ret, class Fp, class ...Args>
|
template <class Ret, class Fp, class ...Args>
|
||||||
inline Ret do_invoke(mpl::true_, BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(Args) ...args)
|
inline Ret do_invoke(boost::true_type, BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(Args) ...args)
|
||||||
{
|
{
|
||||||
return f(boost::forward<Args>(args)...);
|
return f(boost::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
@@ -1360,12 +1359,12 @@ namespace boost
|
|||||||
// f(t1, t2, ..., tN) in all other cases.
|
// f(t1, t2, ..., tN) in all other cases.
|
||||||
|
|
||||||
template <class Ret, class Fp>
|
template <class Ret, class Fp>
|
||||||
inline Ret do_invoke(mpl::false_, BOOST_THREAD_FWD_REF(Fp) f)
|
inline Ret do_invoke(boost::false_type, BOOST_THREAD_FWD_REF(Fp) f)
|
||||||
{
|
{
|
||||||
return boost::forward<Fp>(f)();
|
return boost::forward<Fp>(f)();
|
||||||
}
|
}
|
||||||
template <class Ret, class Fp>
|
template <class Ret, class Fp>
|
||||||
inline Ret do_invoke(mpl::true_, BOOST_THREAD_FWD_REF(Fp) f)
|
inline Ret do_invoke(boost::true_type, BOOST_THREAD_FWD_REF(Fp) f)
|
||||||
{
|
{
|
||||||
return f();
|
return f();
|
||||||
}
|
}
|
||||||
@@ -1382,12 +1381,12 @@ namespace boost
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class Ret, class Fp, class A1>
|
template <class Ret, class Fp, class A1>
|
||||||
inline Ret do_invoke(mpl::false_, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1)
|
inline Ret do_invoke(boost::false_type, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1)
|
||||||
{
|
{
|
||||||
return boost::forward<Fp>(f)(boost::forward<A1>(a1));
|
return boost::forward<Fp>(f)(boost::forward<A1>(a1));
|
||||||
}
|
}
|
||||||
template <class Ret, class Fp, class A1>
|
template <class Ret, class Fp, class A1>
|
||||||
inline Ret do_invoke(mpl::true_, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1)
|
inline Ret do_invoke(boost::true_type, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1)
|
||||||
{
|
{
|
||||||
return f(boost::forward<A1>(a1));
|
return f(boost::forward<A1>(a1));
|
||||||
}
|
}
|
||||||
@@ -1404,12 +1403,12 @@ namespace boost
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class Ret, class Fp, class A1, class A2>
|
template <class Ret, class Fp, class A1, class A2>
|
||||||
inline Ret do_invoke(mpl::false_, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2)
|
inline Ret do_invoke(boost::false_type, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2)
|
||||||
{
|
{
|
||||||
return boost::forward<Fp>(f)(boost::forward<A1>(a1), boost::forward<A2>(a2));
|
return boost::forward<Fp>(f)(boost::forward<A1>(a1), boost::forward<A2>(a2));
|
||||||
}
|
}
|
||||||
template <class Ret, class Fp, class A1, class A2>
|
template <class Ret, class Fp, class A1, class A2>
|
||||||
inline Ret do_invoke(mpl::true_, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2)
|
inline Ret do_invoke(boost::true_type, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2)
|
||||||
{
|
{
|
||||||
return f(boost::forward<A1>(a1), boost::forward<A2>(a2));
|
return f(boost::forward<A1>(a1), boost::forward<A2>(a2));
|
||||||
}
|
}
|
||||||
@@ -1426,12 +1425,12 @@ namespace boost
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class Ret, class Fp, class A1, class A2, class A3>
|
template <class Ret, class Fp, class A1, class A2, class A3>
|
||||||
inline Ret do_invoke(mpl::false_, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2, BOOST_THREAD_RV_REF(A3) a3)
|
inline Ret do_invoke(boost::false_type, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2, BOOST_THREAD_RV_REF(A3) a3)
|
||||||
{
|
{
|
||||||
return boost::forward<Fp>(f)(boost::forward<A1>(a1), boost::forward<A2>(a2), boost::forward<A3>(a3));
|
return boost::forward<Fp>(f)(boost::forward<A1>(a1), boost::forward<A2>(a2), boost::forward<A3>(a3));
|
||||||
}
|
}
|
||||||
template <class Ret, class Fp, class A1, class A2, class A3>
|
template <class Ret, class Fp, class A1, class A2, class A3>
|
||||||
inline Ret do_invoke(mpl::true_, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2, BOOST_THREAD_RV_REF(A3) a3)
|
inline Ret do_invoke(boost::true_type, BOOST_THREAD_FWD_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2, BOOST_THREAD_RV_REF(A3) a3)
|
||||||
{
|
{
|
||||||
return f(boost::forward<A1>(a1), boost::forward<A2>(a2), boost::forward<A3>(a3));
|
return f(boost::forward<A1>(a1), boost::forward<A2>(a2), boost::forward<A3>(a3));
|
||||||
}
|
}
|
||||||
@@ -1449,12 +1448,12 @@ namespace boost
|
|||||||
|
|
||||||
|
|
||||||
template <class Ret, class Fp, class A1>
|
template <class Ret, class Fp, class A1>
|
||||||
inline Ret do_invoke(mpl::false_, BOOST_THREAD_FWD_REF(Fp) f, A1 a1)
|
inline Ret do_invoke(boost::false_type, BOOST_THREAD_FWD_REF(Fp) f, A1 a1)
|
||||||
{
|
{
|
||||||
return boost::forward<Fp>(f)(a1);
|
return boost::forward<Fp>(f)(a1);
|
||||||
}
|
}
|
||||||
template <class Ret, class Fp, class A1>
|
template <class Ret, class Fp, class A1>
|
||||||
inline Ret do_invoke(mpl::true_, BOOST_THREAD_FWD_REF(Fp) f, A1 a1)
|
inline Ret do_invoke(boost::true_type, BOOST_THREAD_FWD_REF(Fp) f, A1 a1)
|
||||||
{
|
{
|
||||||
return f(a1);
|
return f(a1);
|
||||||
}
|
}
|
||||||
@@ -1471,12 +1470,12 @@ namespace boost
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class Ret, class Fp, class A1, class A2>
|
template <class Ret, class Fp, class A1, class A2>
|
||||||
inline Ret do_invoke(mpl::false_, BOOST_THREAD_FWD_REF(Fp) f, A1 a1, A2 a2)
|
inline Ret do_invoke(boost::false_type, BOOST_THREAD_FWD_REF(Fp) f, A1 a1, A2 a2)
|
||||||
{
|
{
|
||||||
return boost::forward<Fp>(f)(a1, a2);
|
return boost::forward<Fp>(f)(a1, a2);
|
||||||
}
|
}
|
||||||
template <class Ret, class Fp, class A1, class A2>
|
template <class Ret, class Fp, class A1, class A2>
|
||||||
inline Ret do_invoke(mpl::true_, BOOST_THREAD_FWD_REF(Fp) f, A1 a1, A2 a2)
|
inline Ret do_invoke(boost::true_type, BOOST_THREAD_FWD_REF(Fp) f, A1 a1, A2 a2)
|
||||||
{
|
{
|
||||||
return f(a1, a2);
|
return f(a1, a2);
|
||||||
}
|
}
|
||||||
@@ -1493,12 +1492,12 @@ namespace boost
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class Ret, class Fp, class A1, class A2, class A3>
|
template <class Ret, class Fp, class A1, class A2, class A3>
|
||||||
inline Ret do_invoke(mpl::false_, BOOST_THREAD_FWD_REF(Fp) f, A1 a1, A2 a2, A3 a3)
|
inline Ret do_invoke(boost::false_type, BOOST_THREAD_FWD_REF(Fp) f, A1 a1, A2 a2, A3 a3)
|
||||||
{
|
{
|
||||||
return boost::forward<Fp>(f)(a1, a2, a3);
|
return boost::forward<Fp>(f)(a1, a2, a3);
|
||||||
}
|
}
|
||||||
template <class Ret, class Fp, class A1, class A2, class A3>
|
template <class Ret, class Fp, class A1, class A2, class A3>
|
||||||
inline Ret do_invoke(mpl::true_, BOOST_THREAD_FWD_REF(Fp) f, A1 a1, A2 a2, A3 a3)
|
inline Ret do_invoke(boost::true_type, BOOST_THREAD_FWD_REF(Fp) f, A1 a1, A2 a2, A3 a3)
|
||||||
{
|
{
|
||||||
return f(a1, a2, a3);
|
return f(a1, a2, a3);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(BOOST_THREAD_CHRONO_WINDOWS_API)
|
#if defined(BOOST_THREAD_CHRONO_WINDOWS_API)
|
||||||
#include <boost/detail/winapi/time.hpp>
|
#include <boost/winapi/time.hpp>
|
||||||
#include <boost/detail/winapi/timers.hpp>
|
#include <boost/winapi/timers.hpp>
|
||||||
#include <boost/thread/win32/thread_primitives.hpp>
|
#include <boost/thread/win32/thread_primitives.hpp>
|
||||||
#elif defined(BOOST_THREAD_CHRONO_MAC_API)
|
#elif defined(BOOST_THREAD_CHRONO_MAC_API)
|
||||||
#include <sys/time.h> //for gettimeofday and timeval
|
#include <sys/time.h> //for gettimeofday and timeval
|
||||||
@@ -293,8 +293,8 @@ inline FP init_steady_clock(kern_return_t & err)
|
|||||||
static real_platform_timepoint now()
|
static real_platform_timepoint now()
|
||||||
{
|
{
|
||||||
#if defined(BOOST_THREAD_CHRONO_WINDOWS_API)
|
#if defined(BOOST_THREAD_CHRONO_WINDOWS_API)
|
||||||
boost::detail::winapi::FILETIME_ ft;
|
boost::winapi::FILETIME_ ft;
|
||||||
boost::detail::winapi::GetSystemTimeAsFileTime(&ft); // never fails
|
boost::winapi::GetSystemTimeAsFileTime(&ft); // never fails
|
||||||
boost::time_max_t ns = ((((static_cast<boost::time_max_t>(ft.dwHighDateTime) << 32) | ft.dwLowDateTime) - 116444736000000000LL) * 100LL);
|
boost::time_max_t ns = ((((static_cast<boost::time_max_t>(ft.dwHighDateTime) << 32) | ft.dwLowDateTime) - 116444736000000000LL) * 100LL);
|
||||||
return real_platform_timepoint(ns);
|
return real_platform_timepoint(ns);
|
||||||
#elif defined(BOOST_THREAD_CHRONO_MAC_API)
|
#elif defined(BOOST_THREAD_CHRONO_MAC_API)
|
||||||
@@ -401,8 +401,8 @@ inline FP init_steady_clock(kern_return_t & err)
|
|||||||
// Use QueryPerformanceCounter() to match the implementation in Boost
|
// Use QueryPerformanceCounter() to match the implementation in Boost
|
||||||
// Chrono so that chrono::steady_clock::now() and this function share the
|
// Chrono so that chrono::steady_clock::now() and this function share the
|
||||||
// same epoch and so can be converted between each other.
|
// same epoch and so can be converted between each other.
|
||||||
boost::detail::winapi::LARGE_INTEGER_ freq;
|
boost::winapi::LARGE_INTEGER_ freq;
|
||||||
if ( !boost::detail::winapi::QueryPerformanceFrequency( &freq ) )
|
if ( !boost::winapi::QueryPerformanceFrequency( &freq ) )
|
||||||
{
|
{
|
||||||
BOOST_ASSERT(0 && "Boost::Thread - QueryPerformanceFrequency Internal Error");
|
BOOST_ASSERT(0 && "Boost::Thread - QueryPerformanceFrequency Internal Error");
|
||||||
return mono_platform_timepoint(0);
|
return mono_platform_timepoint(0);
|
||||||
@@ -413,9 +413,9 @@ inline FP init_steady_clock(kern_return_t & err)
|
|||||||
return mono_platform_timepoint(0);
|
return mono_platform_timepoint(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
boost::detail::winapi::LARGE_INTEGER_ pcount;
|
boost::winapi::LARGE_INTEGER_ pcount;
|
||||||
unsigned times=0;
|
unsigned times=0;
|
||||||
while ( ! boost::detail::winapi::QueryPerformanceCounter( &pcount ) )
|
while ( ! boost::winapi::QueryPerformanceCounter( &pcount ) )
|
||||||
{
|
{
|
||||||
if ( ++times > 3 )
|
if ( ++times > 3 )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <boost/core/ref.hpp>
|
#include <boost/core/ref.hpp>
|
||||||
#include <boost/cstdint.hpp>
|
#include <boost/cstdint.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <boost/core/enable_if.hpp>
|
#include <boost/core/enable_if.hpp>
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ struct shared_state_base {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <boost/assert.hpp>
|
#include <boost/assert.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#ifdef BOOST_THREAD_USES_CHRONO
|
#ifdef BOOST_THREAD_USES_CHRONO
|
||||||
#include <boost/chrono/system_clocks.hpp>
|
#include <boost/chrono/system_clocks.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
#include <boost/thread/detail/delete.hpp>
|
#include <boost/thread/detail/delete.hpp>
|
||||||
#include <boost/core/no_exceptions_support.hpp>
|
#include <boost/core/no_exceptions_support.hpp>
|
||||||
|
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#include <boost/assert.hpp>
|
#include <boost/assert.hpp>
|
||||||
#include <boost/config/abi_prefix.hpp>
|
#include <boost/config/abi_prefix.hpp>
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
#include <boost/thread/detail/move.hpp>
|
#include <boost/thread/detail/move.hpp>
|
||||||
#include <boost/thread/detail/invoke.hpp>
|
#include <boost/thread/detail/invoke.hpp>
|
||||||
#include <boost/core/no_exceptions_support.hpp>
|
#include <boost/core/no_exceptions_support.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#include <boost/atomic.hpp>
|
#include <boost/atomic.hpp>
|
||||||
|
|
||||||
#include <boost/config/abi_prefix.hpp>
|
#include <boost/config/abi_prefix.hpp>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
// http://www.boost.org/LICENSE_1_0.txt)
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
#include <boost/assert.hpp>
|
#include <boost/assert.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#include <boost/static_assert.hpp>
|
#include <boost/static_assert.hpp>
|
||||||
#include <boost/thread/mutex.hpp>
|
#include <boost/thread/mutex.hpp>
|
||||||
#include <boost/thread/condition_variable.hpp>
|
#include <boost/thread/condition_variable.hpp>
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ namespace boost
|
|||||||
#else
|
#else
|
||||||
std::size_t page_size = ::sysconf( _SC_PAGESIZE);
|
std::size_t page_size = ::sysconf( _SC_PAGESIZE);
|
||||||
#endif
|
#endif
|
||||||
#if PTHREAD_STACK_MIN > 0
|
#ifdef PTHREAD_STACK_MIN
|
||||||
if (size<PTHREAD_STACK_MIN) size=PTHREAD_STACK_MIN;
|
if (size<PTHREAD_STACK_MIN) size=PTHREAD_STACK_MIN;
|
||||||
#endif
|
#endif
|
||||||
size = ((size+page_size-1)/page_size)*page_size;
|
size = ((size+page_size-1)/page_size)*page_size;
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
#include <climits>
|
#include <climits>
|
||||||
#include <boost/system/system_error.hpp>
|
#include <boost/system/system_error.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
|
|
||||||
namespace boost {
|
namespace boost {
|
||||||
namespace thread_v2 {
|
namespace thread_v2 {
|
||||||
|
|||||||
@@ -19,6 +19,8 @@
|
|||||||
// Define compiler barriers
|
// Define compiler barriers
|
||||||
#if defined(__INTEL_COMPILER)
|
#if defined(__INTEL_COMPILER)
|
||||||
#define BOOST_THREAD_DETAIL_COMPILER_BARRIER() __memory_barrier()
|
#define BOOST_THREAD_DETAIL_COMPILER_BARRIER() __memory_barrier()
|
||||||
|
#elif defined(__clang__)
|
||||||
|
#define BOOST_THREAD_DETAIL_COMPILER_BARRIER() __atomic_signal_fence(__ATOMIC_SEQ_CST)
|
||||||
#elif defined(_MSC_VER) && !defined(_WIN32_WCE)
|
#elif defined(_MSC_VER) && !defined(_WIN32_WCE)
|
||||||
extern "C" void _ReadWriteBarrier(void);
|
extern "C" void _ReadWriteBarrier(void);
|
||||||
#pragma intrinsic(_ReadWriteBarrier)
|
#pragma intrinsic(_ReadWriteBarrier)
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
#include <boost/thread/detail/move.hpp>
|
#include <boost/thread/detail/move.hpp>
|
||||||
#include <boost/thread/detail/invoke.hpp>
|
#include <boost/thread/detail/invoke.hpp>
|
||||||
|
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
|
|
||||||
#include <boost/config/abi_prefix.hpp>
|
#include <boost/config/abi_prefix.hpp>
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#include <boost/thread/mutex.hpp>
|
#include <boost/thread/mutex.hpp>
|
||||||
#include <boost/thread/with_lock_guard.hpp>
|
#include <boost/thread/with_lock_guard.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
|
|
||||||
class Foo {
|
class Foo {
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
#include <boost/thread/thread_only.hpp>
|
#include <boost/thread/thread_only.hpp>
|
||||||
#include <boost/thread/xtime.hpp>
|
#include <boost/thread/xtime.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#include <boost/ref.hpp>
|
#include <boost/ref.hpp>
|
||||||
#include <boost/utility.hpp>
|
#include <boost/utility.hpp>
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
#include <boost/thread/mutex.hpp>
|
#include <boost/thread/mutex.hpp>
|
||||||
|
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
#include <boost/thread.hpp>
|
#include <boost/thread.hpp>
|
||||||
#include <boost/thread/locks.hpp>
|
#include <boost/thread/locks.hpp>
|
||||||
#include <boost/chrono.hpp>
|
#include <boost/chrono.hpp>
|
||||||
//#include <boost/bind.hpp>
|
//#include <boost/bind/bind.hpp>
|
||||||
#include <boost/detail/lightweight_test.hpp>
|
#include <boost/detail/lightweight_test.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
#include <boost/function.hpp>
|
#include <boost/function.hpp>
|
||||||
#include <boost/make_shared.hpp>
|
#include <boost/make_shared.hpp>
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#include <boost/asio.hpp>
|
#include <boost/asio.hpp>
|
||||||
#include <boost/thread.hpp>
|
#include <boost/thread.hpp>
|
||||||
#include <boost/thread/future.hpp>
|
#include <boost/thread/future.hpp>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
#include <boost/thread/future.hpp>
|
#include <boost/thread/future.hpp>
|
||||||
#include <boost/thread/thread.hpp>
|
#include <boost/thread/thread.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#include <boost/chrono.hpp>
|
#include <boost/chrono.hpp>
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/scoped_ptr.hpp>
|
#include <boost/scoped_ptr.hpp>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#define BOOST_THREAD_VERSION 4
|
#define BOOST_THREAD_VERSION 4
|
||||||
#define BOOST_THREAD_PROVIDES_EXECUTORS
|
#define BOOST_THREAD_PROVIDES_EXECUTORS
|
||||||
|
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#include <boost/chrono.hpp>
|
#include <boost/chrono.hpp>
|
||||||
#include <boost/chrono/chrono_io.hpp>
|
#include <boost/chrono/chrono_io.hpp>
|
||||||
#include <boost/function.hpp>
|
#include <boost/function.hpp>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#include <boost/thread/thread_only.hpp>
|
#include <boost/thread/thread_only.hpp>
|
||||||
#include <boost/thread/xtime.hpp>
|
#include <boost/thread/xtime.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#include <boost/ref.hpp>
|
#include <boost/ref.hpp>
|
||||||
#include <boost/utility.hpp>
|
#include <boost/utility.hpp>
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include <boost/thread/thread_only.hpp>
|
#include <boost/thread/thread_only.hpp>
|
||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
|
|
||||||
void do_nothing()
|
void do_nothing()
|
||||||
{}
|
{}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "boost/bind.hpp"
|
#include "boost/bind/bind.hpp"
|
||||||
#include "boost/chrono.hpp"
|
#include "boost/chrono.hpp"
|
||||||
#include "boost/chrono/ceil.hpp"
|
#include "boost/chrono/ceil.hpp"
|
||||||
#include "boost/date_time.hpp"
|
#include "boost/date_time.hpp"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
#include <boost/thread/thread.hpp>
|
#include <boost/thread/thread.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
void helloworld(const char* who)
|
void helloworld(const char* who)
|
||||||
|
|||||||
Reference in New Issue
Block a user