2
0
mirror of https://github.com/boostorg/thread.git synced 2026-02-07 10:52:10 +00:00

Compare commits

..

30 Commits

Author SHA1 Message Date
Vicente J. Botet Escriba
8d0f077ab2 Merge branch 'develop' 2018-11-15 06:45:24 +01:00
Vicente J. Botet Escriba
dfe6cc3c49 Remove Niall as maintainer 2018-11-15 06:44:45 +01:00
Vicente J. Botet Escriba
330a0a15e6 Merge branch 'develop' 2018-11-14 23:27:25 +01:00
Vicente J. Botet Escriba
f60dfdfad9 Merge pull request #247 from Romain-Geissler-1A/noexcept
Remove all "throw()" specification to prepare for C++20 where it is r…
2018-11-12 19:30:24 +01:00
Romain Geissler
ccb1b99e3f Remove all "throw()" specification to prepare for C++20 where it is removed. 2018-11-11 22:24:38 +00:00
Vicente J. Botet Escriba
aa444afc5c Merge branch 'develop' 2018-11-01 07:57:44 +01:00
Vicente J. Botet Escriba
f1d464d0d5 added cygwin platform configuration. 2018-10-25 04:18:27 +02:00
Vicente J. Botet Escriba
57161ddbb6 Merge pull request #246 from Kojoley/patch-1
DOC: Fixed a small typo
2018-10-25 03:45:06 +02:00
Nikita Kniazev
9a7d21444f DOC: Fixed a small typo 2018-10-24 23:13:43 +03:00
Vicente J. Botet Escriba
1b2bc4e451 Merge branch 'develop' 2018-10-20 19:04:45 +02:00
Vicente J. Botet Escriba
e1b5f9d786 Try to catch the CircleCi clang issues. 2018-10-18 18:59:49 +02:00
Vicente J. Botet Escriba
8b5cd5f02a Merge branch 'develop' of https://github.com/boostorg/thread into develop 2018-10-18 07:35:50 +02:00
Vicente J. Botet Escriba
5b2ffe7104 try to fix decay_copy issue with reference to functions: function cannot return function type 2018-10-17 20:54:21 +02:00
Vicente J. Botet Escriba
5af180ba36 Merge pull request #244 from boostorg/pr/fix-cygwin-win32
Fix uses of BOOST_HAS_WINTHREADS (not correct on Cygwin)
2018-10-16 21:52:45 +02:00
Vicente J. Botet Escriba
340cc5ab61 Try to catch the CircleCi clang issues. 2018-10-16 00:02:31 +02:00
Vicente J. Botet Escriba
9a3b8bb4b0 Try to catch the CircleCi issue. 2018-10-15 07:10:05 +02:00
Vicente J. Botet Escriba
79f955e229 Try to catch the CircleCi issue. 2018-10-14 09:55:47 +02:00
Vicente J. Botet Escriba
1da2a57124 Try to catch the CircleCi issue. 2018-10-13 15:24:58 +02:00
Vicente J. Botet Escriba
00efec75d9 Merge branch 'develop' 2018-10-13 02:12:28 +02:00
Vicente J. Botet Escriba
6c70eccb01 Merge branch 'develop' 2018-10-11 06:58:26 +02:00
Vicente J. Botet Escriba
eb297ce86c Merge branch 'develop' 2018-10-09 20:59:21 +02:00
Vicente J. Botet Escriba
502876f0e9 Merge branch 'develop' 2018-10-07 19:41:15 +02:00
Vicente J. Botet Escriba
1a8229160e Merge branch 'develop' 2018-10-01 05:58:16 +02:00
Vicente J. Botet Escriba
2be8908dcd Merge branch 'develop' 2018-09-23 15:54:09 +02:00
Vicente J. Botet Escriba
24404dcae4 Merge branch 'develop' 2018-09-15 21:03:10 +02:00
Vicente J. Botet Escriba
526e2d6554 Merge branch 'develop' 2018-09-15 08:56:22 +02:00
Vicente J. Botet Escriba
377bb87ad5 Merge branch 'develop' 2018-04-18 17:51:46 +02:00
Vicente J. Botet Escriba
180ca01c97 Merge pull request #217 from jschueller/patch-1
Windows.h > windows.h
2018-04-15 10:37:11 +02:00
Julien Schueller
a6dede8199 Windows.h > windows.h
Fixes build on case-sensitive fs
2018-04-15 08:33:56 +02:00
Vicente J. Botet Escriba
d268106bf8 Merge branch 'develop' 2018-03-04 23:12:43 +01:00
17 changed files with 74 additions and 81 deletions

View File

@@ -1,4 +1,5 @@
# Copyright 2016, 2017 Peter Dimov
# Copyright 2016-2018 Peter Dimov
# Copyright 2018 Vicente Botet
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
@@ -12,48 +13,34 @@ branches:
- develop
- /feature\/.*/
platform:
- x64
environment:
matrix:
- ARGS: --toolset=msvc-9.0 address-model=32 cxxflags="/wd4244 /wd4459"
- ARGS: --toolset=msvc-10.0 address-model=32 cxxflags="/wd4244 /wd4459"
- ARGS: --toolset=msvc-11.0 address-model=32 cxxflags="/wd4244 /wd4459"
- ARGS: --toolset=msvc-12.0 address-model=32 cxxflags="/wd4244 /wd4459"
- ARGS: --toolset=msvc-14.0 address-model=32 cxxflags="/wd4244 /wd4459"
- ARGS: --toolset=msvc-12.0 address-model=64 cxxflags="/wd4244 /wd4459"
- ARGS: --toolset=msvc-14.0 address-model=64 cxxflags="/wd4244 /wd4459"
- ARGS: --toolset=msvc-14.0 address-model=64 cxxflags="-std:c++latest /wd4244 /wd4459"
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
# TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0,msvc-12.0
TOOLSET: msvc-12.0
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-14.0
ADDRMD: 32
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ARGS: --toolset=msvc-14.1 address-model=64 cxxflags="/wd4244 /wd4459"
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ARGS: --toolset=msvc-14.1 address-model=32 cxxflags="/wd4244 /wd4459"
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ARGS: --toolset=msvc-14.1 address-model=64 cxxflags="-std:c++latest /wd4244 /wd4459"
- ARGS: --toolset=gcc address-model=64
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
- ARGS: --toolset=gcc address-model=64 cxxflags="-std=gnu++1z
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
- ARGS: --toolset=gcc address-model=32
PATH: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin;%PATH%
- ARGS: --toolset=gcc address-model=32 linkflags=-Wl,-allow-multiple-definition
PATH: C:\MinGW\bin;%PATH%
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
# ARGS: --toolset=msvc-9.0
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
# ARGS: --toolset=msvc-10.0
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
# ARGS: --toolset=msvc-11.0
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
# ARGS: --toolset=msvc-12.0
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# ARGS: --toolset=msvc-14.0
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
# ARGS: --toolset=msvc-14.1
TOOLSET: msvc-14.1
CXXSTD: 17
ADDRMD: 64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
ADDPATH: C:\cygwin\bin;
TOOLSET: gcc
CXXSTD: 14
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
ADDPATH: C:\cygwin64\bin;
TOOLSET: gcc
CXXSTD: 14
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
ADDPATH: C:\mingw\bin;
TOOLSET: gcc
CXXSTD: 14
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;
TOOLSET: gcc
CXXSTD: 14
install:
- set BOOST_BRANCH=develop
@@ -64,16 +51,15 @@ install:
- git submodule update --init tools/build
- git submodule update --init libs/config
- git submodule update --init tools/boostdep
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\thread\
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\thread
- python tools/boostdep/depinst/depinst.py thread
- cmd /c bootstrap
- b2 headers
- b2 -d0 headers
build: off
test_script:
- cd libs\config\test
- ..\..\..\b2 config_info_travis_install %ARGS%
- config_info_travis
- cd ..\..\thread\test
- ..\..\..\b2 --abbreviate-paths -j2 -l60 %ARGS%
- PATH=%ADDPATH%%PATH%
- if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD%
- if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD%
- b2 -j3 libs/thread/test toolset=%TOOLSET% %CXXSTD% %ADDRMD% variant=debug,release

View File

@@ -43,9 +43,9 @@ build_steps: &build_steps
- run:
name: Build
command: |
echo "using $TOOLSET : : $COMPILER : <cxxflags>-std=$CXXSTD <cxxflags>$DEFINES ;" > ~/user-config.jam
echo "using $TOOLSET : : $COMPILER : <cxxflags>-std=$CXXSTD <cxxflags>$CXXFLAGS <cxxflags>$DEFINES ;" > ~/user-config.jam
cd ../boost-root
./b2 -j8 -l60 libs/thread/test toolset=$TOOLSET
./b2 -d2 -j8 -l60 libs/thread/test toolset=$TOOLSET
mac_build: &mac_build
macos:
@@ -154,6 +154,7 @@ jobs:
- TOOLSET: "clang"
- COMPILER: "clang++"
- CXXSTD: "c++1z"
- CXXFLAGS: "-Wno-unusable-partial-specialization"
- DEFINES: "-DBOOST_THREAD_TEST_TIME_MS=100"
workflows:

View File

@@ -33,7 +33,7 @@
#ifdef BOOST_THREAD_PROVIDES_ONCE_CXX11
struct once_flag
{
constexprr once_flag() noexcept;
constexpr once_flag() noexcept;
once_flag(const once_flag&) = delete;
once_flag& operator=(const once_flag&) = delete;
};

View File

@@ -350,12 +350,19 @@ namespace boost
#endif
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
template <class T>
typename decay<T>::type
decay_copy(T&& t)
{
return boost::forward<T>(t);
}
template <class T>
typename decay<T>::type
decay_copy(T&& t)
{
return boost::forward<T>(t);
}
typedef void (*void_fct_ptr)();
// inline void_fct_ptr
// decay_copy(void (&t)())
// {
// return &t;
// }
#else
template <class T>
typename decay<T>::type

View File

@@ -56,7 +56,7 @@ namespace boost
{
}
~thread_exception() throw()
~thread_exception() BOOST_NOEXCEPT_OR_NOTHROW
{}
@@ -113,7 +113,7 @@ namespace boost
{
}
~lock_error() throw()
~lock_error() BOOST_NOEXCEPT_OR_NOTHROW
{}
};
@@ -141,7 +141,7 @@ namespace boost
}
~thread_resource_error() throw()
~thread_resource_error() BOOST_NOEXCEPT_OR_NOTHROW
{}
};

View File

@@ -7,11 +7,10 @@
"Vicente J. Botet Escriba"
],
"maintainers": [
"Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr>",
"Niall Douglas <niall -at- nedprod.com>"
"Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr>"
],
"description":
"Portable C++ multi-threading. C++11, C++14.",
"Portable C++ multi-threading. C++03, C++11, C++14, C++17.",
"std": [ "proposal" ],
"category": [
"Concurrent", "System"

View File

@@ -149,7 +149,7 @@ namespace boost
boost::detail::thread_data_base* get_current_thread_data()
{
boost::call_once(current_thread_tls_init_flag,create_current_thread_tls_key);
boost::call_once(current_thread_tls_init_flag,&create_current_thread_tls_key);
return (boost::detail::thread_data_base*)pthread_getspecific(current_thread_tls_key);
}

View File

@@ -12,7 +12,7 @@ void run_thread() {
}
int main() {
boost::thread t(run_thread);
boost::thread t(&run_thread);
return 0;
}

View File

@@ -179,13 +179,13 @@ namespace
void do_test_notify_all_following_notify_one_wakes_all_threads()
{
boost::thread thread1(wait_for_condvar_and_increase_count);
boost::thread thread2(wait_for_condvar_and_increase_count);
boost::thread thread1(&wait_for_condvar_and_increase_count);
boost::thread thread2(&wait_for_condvar_and_increase_count);
boost::this_thread::sleep(boost::posix_time::milliseconds(200));
multiple_wake_cond.notify_one();
boost::thread thread3(wait_for_condvar_and_increase_count);
boost::thread thread3(&wait_for_condvar_and_increase_count);
boost::this_thread::sleep(boost::posix_time::milliseconds(200));
multiple_wake_cond.notify_one();

View File

@@ -114,13 +114,13 @@ namespace
void do_test_multiple_notify_one_calls_wakes_multiple_threads()
{
boost::thread thread1(wait_for_condvar_and_increase_count);
boost::thread thread2(wait_for_condvar_and_increase_count);
boost::thread thread1(&wait_for_condvar_and_increase_count);
boost::thread thread2(&wait_for_condvar_and_increase_count);
boost::this_thread::sleep(boost::posix_time::milliseconds(200));
multiple_wake_cond.notify_one();
boost::thread thread3(wait_for_condvar_and_increase_count);
boost::thread thread3(&wait_for_condvar_and_increase_count);
boost::this_thread::sleep(boost::posix_time::milliseconds(200));
multiple_wake_cond.notify_one();

View File

@@ -16,7 +16,7 @@ void do_nothing()
BOOST_AUTO_TEST_CASE(test_thread_move_from_lvalue_on_construction)
{
boost::thread src(do_nothing);
boost::thread src(&do_nothing);
boost::thread::id src_id=src.get_id();
boost::thread dest(boost::move(src));
boost::thread::id dest_id=dest.get_id();
@@ -27,7 +27,7 @@ BOOST_AUTO_TEST_CASE(test_thread_move_from_lvalue_on_construction)
BOOST_AUTO_TEST_CASE(test_thread_move_from_lvalue_on_assignment)
{
boost::thread src(do_nothing);
boost::thread src(&do_nothing);
boost::thread::id src_id=src.get_id();
boost::thread dest;
dest=boost::move(src);
@@ -39,7 +39,7 @@ BOOST_AUTO_TEST_CASE(test_thread_move_from_lvalue_on_assignment)
boost::thread start_thread()
{
return boost::thread(do_nothing);
return boost::thread(&do_nothing);
}
BOOST_AUTO_TEST_CASE(test_thread_move_from_rvalue_on_construction)

View File

@@ -33,7 +33,7 @@ void call_once_thread()
int my_once_value=0;
for(unsigned i=0;i<loop_count;++i)
{
boost::call_once(flag, initialize_variable);
boost::call_once(flag, &initialize_variable);
my_once_value=var_to_init;
if(my_once_value!=1)
{

View File

@@ -206,8 +206,8 @@ BOOST_AUTO_TEST_CASE(test_timed_join)
BOOST_AUTO_TEST_CASE(test_swap)
{
boost::thread t(simple_thread);
boost::thread t2(simple_thread);
boost::thread t(&simple_thread);
boost::thread t2(&simple_thread);
boost::thread::id id1=t.get_id();
boost::thread::id id2=t2.get_id();

View File

@@ -32,7 +32,7 @@ void tf1()
BOOST_AUTO_TEST_CASE(test_thread_exit_func_runs_when_thread_exits)
{
exit_func_thread_id=boost::thread::id();
boost::thread t(tf1);
boost::thread t(&tf1);
boost::thread::id const t_id=t.get_id();
t.join();
BOOST_CHECK(exit_func_thread_id==t_id);

View File

@@ -20,7 +20,7 @@ BOOST_AUTO_TEST_CASE(test_thread_id_for_default_constructed_thread_is_default_co
BOOST_AUTO_TEST_CASE(test_thread_id_for_running_thread_is_not_default_constructed_id)
{
boost::thread t(do_nothing);
boost::thread t(&do_nothing);
BOOST_CHECK(t.get_id()!=boost::thread::id());
t.join();
}

View File

@@ -22,7 +22,7 @@ void normal_function()
BOOST_AUTO_TEST_CASE(test_thread_function_no_arguments)
{
boost::thread function(normal_function);
boost::thread function(&normal_function);
function.join();
BOOST_CHECK(normal_function_called);
}
@@ -36,7 +36,7 @@ void normal_function_one_arg(int i)
BOOST_AUTO_TEST_CASE(test_thread_function_one_argument)
{
boost::thread function(normal_function_one_arg,42);
boost::thread function(&normal_function_one_arg,42);
function.join();
BOOST_CHECK_EQUAL(42,nfoa_res);
}

View File

@@ -1,5 +1,5 @@
#ifdef _WIN32
#include <Windows.h>
#include <windows.h>
#else
#include <sys/time.h>
#endif