Vicente J. Botet Escriba
e16705a72a
Added more functors to scoped threads.
2017-02-18 10:22:34 +01:00
Vicente J. Botet Escriba
61a26492c3
use SFINAE for wait_for_all is_future_type.
2017-02-18 10:21:45 +01:00
Vicente J. Botet Escriba
4d4ddcdc36
Merge branch 'develop' of github.com:boostorg/thread into develop
2017-01-25 08:13:22 +01:00
Vicente J. Botet Escriba
9347d9b731
Added Thread parameter in scoped_thread and thread_guard classes.
2017-01-25 08:13:04 +01:00
Andrey Semashev
b96d05461f
Compilation fixes for MinGW. Support for MSVC on ARM.
...
1. Apparently, some versions of MinGW declare interlocked intrinsics
without volatile qualifiers. To avoid compilation failures cast away
volatile from pointers. This should also work with qualified pointers as
well.
2. Changed interlocked read/write helpers for MSVC. VS2012 and later have
the option to change volatile behavior to the standard C++. In that mode,
volatile no longer enforces memory ordering. To ensure the correct
behavior of the helpers, use compiler barriers to prohibit code
reordering. Also, limit the version to x86 only.
3. Added a separate version of interlocked read/write helpers for MSVC on
ARM. To avoid dependency on the compiler switch, use intrinsics to load
and store values and also emit the hardware memory fence.
4. Added two versions of interlocked read/write helpers for gcc and
compatible compilers. One version is based on __atomic intrinsics, the
other one (for older versions) uses inline assembler. These versions
should be more optimal than the generic fallback.
2017-01-07 20:08:30 +03:00
Jürgen Hunold
050a45aaa4
Remove trailing ";"
...
clang warning: extra ';' after member function definition [-Wextra-semi]
2017-01-06 10:01:37 +01:00
Vicente J. Botet Escriba
23cff22e5a
fix category in thread_excaption.
2017-01-02 01:21:02 +01:00
equal-l2
3ac5fd0916
fix typo
...
Just in case
2016-12-20 06:27:06 +09:00
Vicente J. Botet Escriba
a0bda34054
fix typo in merge.
2016-11-04 00:52:59 +01:00
Antony Polukhin
184d7504b7
Fix minor possibility of loosing the notify
2016-11-02 23:13:26 +03:00
Wei-Ming Yang
7e7d3bf1a7
fix compile failed with boost::user_scheduler
...
The `work` is not in namespace `boost::thread_detail` anymore.
2016-10-24 08:24:25 +08:00
Vicente J. Botet Escriba
f8b76aa907
Merge pull request #103 from rick68/patch-8
...
fix relational operators of boost::synchronized_value<>
2016-10-22 23:47:09 +02:00
Wei-Ming Yang
e71f52f9ed
fix relational operators of boost::synchronized_value<>
...
fix incorrect relational operators.
2016-10-22 17:53:10 +08:00
Wei-Ming Yang
cd41de6e3f
fix boost::synchronized_value<>::load()
...
The data member `boost::synchronized_value<>::value_` is not mutable, so boost::synchronized_value<>::load() could not be const.
2016-10-22 17:18:28 +08:00
Vicente J. Botet Escriba
866ff746ae
fix queue_back/front_view: documentation mismatch
2016-09-06 20:10:50 +02:00
Vicente J. Botet Escriba
5450e98c6b
Use BOOST_THREAD_ASYNC_FUTURE_WAITS instead of BOOST_THREAD_FUTURE_BLOCKING and wait instead of join. See #11851 and #12220 .
2016-09-03 17:18:53 +02:00
Vicente J. Botet Escriba
c52a34c2cf
format.
2016-09-01 07:41:20 +02:00
Vicente J. Botet Escriba
fc748dbddf
12293- make the unwrap constructor explicit.
2016-08-20 09:27:47 +02:00
Vicente J. Botet Escriba
e34d343c12
avoid to unlock the mutext befote release_waiters.
2016-08-15 22:50:23 +02:00
Vicente J. Botet Escriba
63484911c6
fix compile error when INTERRUPTIONS are not provided.
2016-08-09 02:48:26 +02:00
Vicente J. Botet Escriba
bb2c38aa61
Fix result_of signature and unlonk before notyfying.
2016-08-09 02:47:22 +02:00
Vicente J. Botet Escriba
7ffdc5e10a
Merge pull request #90 from rick68/patch-3
...
fix a bug in try_lock_wrapper<>::operator=()
2016-08-07 13:05:40 +02:00
Vicente J. Botet Escriba
25864ce33a
Merge pull request #93 from vslavik/fix-shadowing-warnings
...
Fix variable shadowing warnings (Clang)
2016-08-07 13:04:09 +02:00
Vicente J. Botet Escriba
b511472614
Merge pull request #95 from rick68/patch-5
...
fix a mistake in boost::completion_latch
2016-08-07 13:00:31 +02:00
Vicente J. Botet Escriba
13c15cd002
Merge pull request #97 from rick68/patch-6
...
fix a mistake in sync_timed_queue<>::pull_until()
2016-08-07 12:58:22 +02:00
Wei-Ming Yang
9c80dd207e
fix a mistake in sync_timed_queue<>::pull_until()
...
The type of `super::not_empty_` in `sync_timed_queue<>` is `boost::condition_variable`, and the return type of `wait_until()` is `boost::cv_status`.
2016-07-31 12:12:55 +08:00
Wei-Ming Yang
96390e1b46
fix a mistake in boost::completion_latch
...
The constructor `completion_latch(std::size_t count, void(*funct)())` does not use any template arguments.
2016-07-26 07:39:10 +08:00
Václav Slavík
e2ff1e4c67
Fix variable shadowing warnings (Clang)
...
Fix multiple instance of declarations shadowing either local variables
or fields.
2016-07-24 22:03:07 +02:00
Andrey Semashev
96b96b4e42
Add shared_lock_guard to the included lock types
2016-07-13 14:42:06 +04:00
Wei-Ming Yang
a774cac3f2
fix a bug in try_lock_wrapper<>::operator=()
...
It invokes the copy constructor that already be deleted.
2016-07-13 15:34:01 +08:00
Wei-Ming Yang
850f3eced3
fix a bug in upgrade_to_unique_lock<>::operator=()
...
It invokes the copy constructor that already be deleted.
2016-07-13 12:42:20 +08:00
Wei-Ming Yang
e5c086cef4
fix typos in boost::upgrade_lock
...
Corrects the class name in exception messages.
2016-07-12 01:17:41 +08:00
Vicente J. Botet Escriba
0ef1b1b760
Merge pull request #83 from v4hn/spell-out-thread-ns
...
specify boost:: prefix for future threads
2016-05-26 07:39:30 +02:00
Michael Görner
ab9f931bce
specify boost:: prefix for future threads
...
This makes the usage of the boost::thread class consistent within the header
2016-05-26 01:18:16 +02:00
Marcel Raad
ccca616330
Fix Windows version problems
...
- the target Windows version was hardcoded to Windows 95
in thread.cpp if not already defined
- the include for BOOST_USE_WINAPI_VERSION was missing
2016-05-25 15:54:28 +02:00
Vicente J. Botet Escriba
ef401d81db
Merge branch 'develop' of github.com:boostorg/thread into develop
2016-04-20 23:59:40 +02:00
Vicente J. Botet Escriba
55a1325f30
call interrupt only if joinable.
2016-04-20 23:50:16 +02:00
Vicente J. Botet Escriba
640e1acb98
Merge pull request #78 from brycelelbach/patch-1
...
Fix typo in implementation detail namespace
2016-04-20 23:20:19 +02:00
Vicente J. Botet Escriba
411798367b
call on_desctruction on scoped_thread move assignment.
2016-04-17 23:41:21 +02:00
Vicente J. Botet Escriba
9db70b803d
add missing template parameter in wait_until.
2016-03-25 00:02:04 +01:00
Vicente J. Botet Escriba
317a735836
try to manage with #12036 .
2016-03-05 11:07:54 +01:00
Vicente J. Botet Escriba
4fb88b29fa
take in account error in condition_variable_any::wait_until.
2016-02-28 23:49:29 +01:00
Bryce Adelstein-Lelbach
3f5c0bfb6c
Fix typo in implementation detail namespace
...
Either I'm missing something or hidden has been misspelled as 'hiden' here.
2016-02-19 10:00:25 -08:00
Vicente J. Botet Escriba
1d04db8887
Merge branch 'develop' into feature/add_launch_sync_policy
2015-12-19 23:07:04 +01:00
Vicente J. Botet Escriba
9f55587ab0
add missing detach in thread assignment V2. #11796 .
2015-12-05 14:49:13 +01:00
Vicente J. Botet Escriba
674e1304ef
take care of #11818 . deferred continuations should not wait too soon.
2015-11-24 22:58:08 +01:00
Vicente J. Botet Escriba
4ad37504ee
#11817 . missing include file.
2015-11-24 06:50:08 +01:00
Vicente J. Botet Escriba
a636c8d605
Merge branch 'develop' into feature/add_launch_sync_policy
2015-11-15 00:07:51 +01:00
Stefan Bühler
8cba434c59
neither continuation nor parent need mutex protection
2015-11-13 12:18:38 +01:00
Stefan Bühler
feab8add3f
refactor deferred execute calls
2015-11-13 12:18:38 +01:00
Stefan Bühler
f36857ffef
explicitly clear continuation parent state
2015-11-13 12:18:38 +01:00
Stefan Bühler
4ba8415b08
drop sentinel in continuation/unwrap states
...
- instead keep the inner state alive in places where we move ourself after we
locked the inner state
2015-11-13 12:18:34 +01:00
Vicente J. Botet Escriba
aa608685af
rename centinel by sentinel. reset it as soon as the non deferred continuation is launched so that resources are released.
2015-11-11 00:31:59 +01:00
Vicente J. Botet Escriba
7b67789f98
Avoid ambiguity with C++17 std::invoke.
2015-11-09 23:58:15 +01:00
Vicente J. Botet Escriba
3f7f34b634
minor cleanup on condition_variable.
2015-11-08 17:30:29 +01:00
Vicente J. Botet Escriba
eb6d819218
remove unused typedef.
2015-11-08 10:58:36 +01:00
Vicente J. Botet Escriba
55536c3e23
first commit for launch::sync policy.
2015-10-29 17:22:32 +01:00
Vicente J. Botet Escriba
c0317c5206
Add return *this in invoker assignment.
2015-10-29 11:06:48 +01:00
Vicente J. Botet Escriba
fdaba4efe7
try to fix Windows issue with system::time_point arithmetic.
2015-10-22 23:04:23 +02:00
Vicente J. Botet Escriba
98a5e343f8
fix compiler error on time_point_cast.
2015-10-22 11:15:20 +02:00
Vicente J. Botet Escriba
d9492530bd
fix timi_point conversion.
2015-10-21 20:19:56 +02:00
Vicente J. Botet Escriba
dcc3227668
don't use steady clock if not supported.
2015-10-20 10:03:51 +02:00
Vicente J. Botet Escriba
8153e2a652
try to fix MSVC issue with template class.
2015-10-19 20:01:42 +02:00
Vicente J. Botet Escriba
7876163c68
make sync optional.
2015-10-19 00:50:29 +02:00
Vicente J. Botet Escriba
0e6376d93a
make async return a blocking future.
2015-10-18 18:47:24 +02:00
Vicente J. Botet Escriba
bf1fc5158e
Added launch::inherit and specialize the behavior for the(launch::inherit, Cont).
2015-10-18 04:17:27 +02:00
Vicente J. Botet Escriba
1e4e9ab84c
#11734 . future::then(Cont) should be able to execute the contination on undetermined thread.
2015-10-18 00:36:25 +02:00
Vicente J. Botet Escriba
0ab63b9248
Remove counting when async future blocking.
2015-10-17 11:38:06 +02:00
Vicente J. Botet Escriba
73053e4abe
merge from develop.
2015-10-17 10:51:50 +02:00
Vicente J. Botet Escriba
b4744a2aa8
then can be now sync. The destructor of a shared state that joins check for thread_ifbefore join. Adde continuation_shared_state to share common behavior.
2015-10-17 00:44:45 +02:00
Vicente J. Botet Escriba
cc309eef8d
refactor ::then(f) in function of ::then(launch_policy, f).
2015-10-15 23:31:38 +02:00
Vicente J. Botet Escriba
45cc1704ef
fix some missing decay. Cleanup adding init.
2015-10-15 19:19:07 +02:00
Jürgen Hunold
6ed577f4eb
Fix executor forward
...
correct namespace and type
2015-10-12 08:01:19 +02:00
Vicente J. Botet Escriba
bf8459cf23
Merge from develop.
2015-10-11 23:34:45 +02:00
Vicente J. Botet Escriba
ad3cf1189e
More fixes for some move semantic issues C++03.
2015-10-11 21:30:54 +02:00
Vicente J. Botet Escriba
b8db8fef8b
Use parent executor ( #11716 ). Add promise::set_executor and packaged_task::set_executor ( #11717 ). Fix some move semantic issues C++03.
2015-10-11 19:56:38 +02:00
Vicente J. Botet Escriba
dacd6deb0a
Add static_shared_from_this and make use of it.
2015-10-09 08:53:47 +02:00
Vicente J. Botet Escriba
f0228ff559
fix shared_state_nullary_task_lifetime_issue_bad_use_of_direct_pointer on C++98 compilers.
2015-10-04 02:10:33 +02:00
Vicente J. Botet Escriba
4acaddd166
rollback fix shared_state_nullary_task_lifetime_issue_bad_use_of_direct_pointer on C++98 compilersas there is a compile error to fix.
2015-10-03 20:26:47 +02:00
Vicente J. Botet Escriba
3a65295d7d
replace >> by > >.
2015-09-30 23:58:03 +02:00
Vicente J. Botet Escriba
773f8bfcb4
replace >> by > >.
2015-09-30 23:57:00 +02:00
Vicente J. Botet Escriba
450f34daed
merge from develop.
2015-09-30 00:01:33 +02:00
Vicente J. Botet Escriba
ea9eb62802
fix shared_state_nullary_task_lifetime_issue_bad_use_of_direct_pointer.
2015-09-29 21:57:52 +02:00
Vicente J. Botet Escriba
971c028c9a
thread::try_join_until: Avoid busy wait if system clock changes. #11688 .
2015-09-28 21:46:16 +02:00
Vicente J. Botet Escriba
8f5de1d7c3
make condition_variable_any steady when BOOST_THREAD_HAS_CONDATTR_SET_CLOCK_MONOTONIC.
2015-09-25 07:35:25 +02:00
Vicente J. Botet Escriba
a86e2ebcc4
Dont use nanosleep on sleep_for if defined BOOST_THREAD_HAS_CONDATTR_SET_CLOCK_MONOTONIC.
2015-09-24 01:25:22 +02:00
Vicente J. Botet Escriba
18cbf4b055
rollback reverse the use of dattime and chrono when chrono is acceptable.
2015-09-24 01:24:08 +02:00
Vicente J. Botet Escriba
6029447774
Merge branch 'develop' of github.com:boostorg/thread into develop
2015-09-24 00:08:22 +02:00
Vicente J. Botet Escriba
205a1d7e2b
apply patch ref #7720 .
2015-09-24 00:07:11 +02:00
Ben Wiederhake
baca517058
Avoid deprecated auto_ptr
2015-09-19 18:14:41 +02:00
Marcel Raad
4224a9f4df
Fix for future with RTTI off
...
895b4a0ac5
introduced dynamic_casts. This breaks boost::future with RTTI turned off, which worked before. static_casts should be enough here.
2015-09-11 11:06:32 +02:00
Vicente J. Botet Escriba
c1ee2bfbd8
fix issue with latch:wait when count is already 0.
2015-09-08 18:25:20 +02:00
Vicente J. Botet Escriba
b30cde32d4
reverse the use of dattime and chrono when chrono is acceptable.
2015-09-08 18:22:44 +02:00
Vicente J. Botet Escriba
ac3f7eb037
comment sleep_for overload on nanoseconds on windows.
2015-09-05 16:17:36 +02:00
Vicente J. Botet Escriba
9f883f6ad7
Add a possible implementation of a steady condition_variable.
2015-09-03 23:44:03 +02:00
Vicente J. Botet Escriba
89b119f65f
Merge branch 'develop' of github.com:boostorg/thread into develop
2015-08-21 18:38:14 +02:00
Vicente J. Botet Escriba
1ae07f3f3a
Add shared_timed_mutex typedef.
2015-08-21 18:37:42 +02:00
Vicente J. Botet Escriba
ac603f6bd1
fix devector allocator_traits_type specific usage.
2015-08-21 18:35:36 +02:00
jzmaddock
ff375e2780
Move Oracle workaround to correct location
2015-08-20 10:51:23 +01:00
jzmaddock
b8dbe960b7
Fix to get Thread lib building with Oracle C++
...
See https://svn.boost.org/trac/boost/ticket/11550
2015-08-18 18:20:25 +01:00
Vicente J. Botet Escriba
4f9a08c418
fix for(;;){} .
2015-07-01 13:21:39 +02:00
Vicente J. Botet Escriba
44272d3b7c
fix for(;;); .
2015-06-29 08:43:01 +02:00
Vicente J. Botet Escriba
8c974800f9
try to remove yet more warnings.
2015-06-23 19:05:32 +02:00
Vicente J. Botet Escriba
2a375808c4
Merge branch 'develop' of github.com:boostorg/thread into develop
2015-06-21 17:38:13 +02:00
Vicente J. Botet Escriba
55c21919fc
try to remove some warnings.
2015-06-21 17:37:30 +02:00
Marcel Raad
b980b88474
Fix typo
...
There was a typo in the code with both BOOST_USE_WINDOWS_H and BOOST_NO_ANSI_APIS defined.
2015-06-05 17:48:53 +02:00
Vicente J. Botet Escriba
7cb5211e25
fix typo on poly lockables.
2015-05-29 20:02:08 +02:00
Vicente J. Botet Escriba
958b773d05
Merge from develop.
2015-05-18 22:35:17 +02:00
Vicente J. Botet Escriba
e39703ff18
Merge branch 'develop' of github.com:boostorg/thread into develop
2015-05-15 15:07:08 +02:00
Vicente J. Botet Escriba
aafd5ca726
applie patch for #11266 .
2015-05-15 15:05:09 +02:00
Vicente J. Botet Escriba
9b69912801
Merge pull request #54 from tempoz/patch-5
...
Remove unused parameter
2015-05-14 18:18:31 +02:00
Vicente J. Botet Escriba
87615d54dd
cleanup unused function set_exceptional_if_invalid.
2015-05-06 09:48:54 +02:00
Vicente J. Botet Escriba
5488482a44
simplify launch_continuation interface.
2015-05-04 23:06:39 +02:00
Vicente J. Botet Escriba
1480d6fc99
simplify launch_continuation interface.
2015-05-04 18:24:09 +02:00
Vicente J. Botet Escriba
131c92a7d8
propagate unwrap fixes.
2015-05-04 00:19:12 +02:00
Vicente J. Botet Escriba
71d9a0a120
fix issue with unwrap shared state. Take care of exceptions on the unwrapped future.
2015-05-03 22:52:52 +02:00
Vicente J. Botet Escriba
b7b2a463cf
fix issue with unwrap shared state.
2015-05-03 22:32:17 +02:00
Vicente J. Botet Escriba
c50d0ac4ba
try to fix issue with continuation on unwrap shared state.
2015-05-03 16:51:41 +02:00
Vicente J. Botet Escriba
1b2736012c
Merge branch 'fix/basic_thread_pool_bad_use_of_scoped_thread' into develop
2015-05-03 14:36:57 +02:00
Vicente J. Botet Escriba
5205fa71bf
Fixed some missing lock.unlock().
2015-05-03 14:30:52 +02:00
Vicente J. Botet Escriba
ba2988a8f7
Fixed issue with basic_thread_pool scoped threads.
2015-05-03 10:42:42 +02:00
Vicente J. Botet Escriba
650956bd3b
First draft of non-blocking. Fixed issue with basic_thread_pool scoped threads. Now when the result of async(ex,f) is not stored, there is a lifetime issue with shared_state_nullary_task use of direct pointer to the shared state, however there is some weak_ptr issues :(.
2015-05-03 10:13:08 +02:00
Vicente J. Botet Escriba
bce7eabba2
fix make_exceptional issue.
2015-04-30 01:11:39 +02:00
Vicente J. Botet Escriba
1bd78bbeea
cleanup commented code.
2015-04-25 11:16:03 +02:00
Vicente J. Botet Escriba
e850218c49
ref #11174 - boost::condition_variable::timed_wait with predicate unexpectedly wakes up while should wait infinite.
2015-04-25 00:20:53 +02:00
Vicente J. Botet Escriba
385eefd3b3
ref #11174 - boost::condition_variable::timed_wait with predicate unexpectedly wakes up while should wait infinite.
2015-04-25 00:20:05 +02:00
Zoey Greer
2ddf7aad0b
Remove unused parameter
...
lk is unused in get_state, naming it causes build warnings
2015-04-22 19:37:36 -04:00
Vicente J. Botet Escriba
c9433c2a5b
rollback ref #11174 - boost::condition_variable::timed_wait with predicate unexpectedly wakes up while should wait infinite.
2015-04-22 22:49:26 +02:00
Vicente J. Botet Escriba
8853a4cbdf
ref #11174 - boost::condition_variable::timed_wait with predicate unexpectedly wakes up while should wait infinite.
2015-04-22 07:23:38 +02:00
Vicente J. Botet Escriba
6f53279b50
ref #11174 - boost::condition_variable::timed_wait with predicate unexpectedly wakes up while should wait infinite.
2015-04-18 19:26:07 +02:00
Vicente J. Botet Escriba
0bed674233
ref #11192- boost::future<>::then() with an executor doesn't compile when the callback returns a future
2015-04-18 07:04:50 +02:00
Vicente J. Botet Escriba
45c9a1d7fd
ref #11192- boost::future<>::then() with an executor doesn't compile when the callback returns a future
2015-04-17 18:30:49 +02:00
Marcel Raad
b5c6f760c5
Respect BOOST_USE_WINDOWS_H again
...
With the GetTickCount64 and WinRT fixes, the Windows API functions were always re-declared regardless of BOOST_USE_WINDOWS_H. This breaks clang-cl, which complains about conflicting definitions.
2015-03-26 13:43:44 +01:00
Vicente J. Botet Escriba
ba2f814342
Don't lock while storing the exception_ptr list as only the task_region thread can do it.
2015-03-16 08:41:04 +01:00
Vicente J. Botet Escriba
5169a5414b
mutex::unlock must not throw.
2015-03-14 16:26:35 +01:00
Vicente J. Botet Escriba
82b9a4e28c
Use coherently size_type.
2015-03-12 04:09:34 +01:00
Vicente J. Botet Escriba
e989d2f626
Add comments.
2015-03-12 04:08:42 +01:00
Vicente J. Botet Escriba
dcebe26a11
try to get rid of possible deadlock.
2015-03-10 00:47:38 +01:00
Vicente J. Botet Escriba
c7bb6fa318
Allow timed and recursive mutex on ANDROID. Related to #11035 .
2015-03-01 01:37:45 +01:00
Vicente J. Botet Escriba
e0ce8af1d9
cleanup work.hpp
2015-02-28 12:39:03 +01:00
Vicente J. Botet Escriba
c54dbe30a2
move the work parameter.
2015-02-28 12:37:27 +01:00
Vicente J. Botet Escriba
b8763b05ad
Add missing push(movable&&) and Run some failing tests that work when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined.
2015-02-28 12:35:42 +01:00
Vicente J. Botet Escriba
41172e4814
fix missing include in caller_context.hpp and let the possibility to dump function at compile time.
2015-02-28 12:33:46 +01:00
Vicente J. Botet Escriba
25310eaf7c
make use of nullary_function<void()> as work for timed schedulers (priority_queue) on C++11.
2015-02-22 23:44:34 +01:00
Vicente J. Botet Escriba
ec770eeb6a
fix forwarding reference_wrapper in make_ready_future.
2015-02-20 16:34:56 +01:00
Vicente J. Botet Escriba
b9ab307912
rollback nullary_function<void()const> specialization.
2015-02-20 16:33:53 +01:00
Vicente J. Botet Escriba
1ae96b3820
Merge branch 'develop' into fix/blocking_future
2015-02-20 14:34:55 +01:00
Vicente J. Botet Escriba
889c178173
fix issues with fallback_to. The route cause was that the original future was locked after destruction. This was more evident when the future was already ready when future::then was called.
2015-02-20 14:34:33 +01:00
Vicente J. Botet Escriba
7ba9591015
first trial towards a work=nullary_function<void() const>.
2015-02-20 10:20:38 +01:00
Vicente J. Botet Escriba
b07f18facf
remove include/boost/thread/detail/work.hpp.
2015-02-20 10:18:35 +01:00
Vicente J. Botet Escriba
7b1b1b5daa
fix include guard on serial_executor_cont.hpp.
2015-02-19 18:00:29 +01:00
Vicente J. Botet Escriba
63fb28c7d4
Merge branch 'develop' into fix/blocking_future
2015-02-19 10:36:20 +01:00
Vicente J. Botet Escriba
e715d74a95
use a different name for serial_executor continuation as it add more constraints.
2015-02-19 10:30:25 +01:00
Vicente J. Botet Escriba
a04497af24
make thread-safe serial_executor. There are yet somme synchronization limitations.
2015-02-18 10:45:10 +01:00
Vicente J. Botet Escriba
821a93ca1a
first draft for serial_executor based on continuations.
2015-02-17 19:09:56 +01:00
Vicente J. Botet Escriba
e2cda49b0b
cleanup. unlock before submiting to an executor as it can directly call the continuation.
2015-02-16 14:17:57 +01:00
Vicente J. Botet Escriba
a4e7eba1d4
cleanup.
2015-02-11 07:05:10 +01:00
Vicente J. Botet Escriba
67778b3278
fix shared_future::then, get and get_or.
2015-02-10 00:01:28 +01:00
Vicente J. Botet Escriba
a5e6952a95
merge from develop - coamesced timers.
2015-02-09 13:08:55 +01:00
Vicente J. Botet Escriba
d628b8d36c
Merge branch 'develop' of github.com:boostorg/thread into develop
2015-02-05 08:30:39 +01:00
Vicente J. Botet Escriba
05e492c56c
Merge branch 'master' of github.com:boostorg/thread
2015-02-04 22:33:22 +01:00
Vicente J. Botet Escriba
3c2321c37a
Merge pull request #45 from Matulis/master
...
Updated namespace to call no_interruption_point sleep_for
2015-02-04 22:31:11 +01:00
Martin Matulyauskas
6c72a2527f
Updated namespace to call no_interruption_point sleep_for
2015-02-04 15:00:51 -06:00
Vicente J. Botet Escriba
5960985355
merge from develop: Reverted parts of c16ec42
because 45510fa
was a better fix.:
2015-02-04 18:46:29 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
84e2b7869d
Merge branch 'develop' of github.com:boostorg/thread into develop
2015-02-04 13:58:30 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
401f69f108
Added coalesced timer support to Windows where that API is available. Tolerable delay is set to the maximum of 5% of interval or 32 ms.
2015-02-04 13:58:11 +00:00
Vicente J. Botet Escriba
4f57e3fb61
Merge pull request #43 from vtnerd/RevertMakeReady
...
Reverted parts of c16ec42
because 45510fa
was a better fix.
2015-02-03 08:34:53 +01:00
Vicente J. Botet Escriba
fdf20f1adc
merge Allow to call shared_future::then multiple times. Related to #10972 .
2015-02-02 19:40:04 +01:00
Lee Clagett
990474ff47
Reverted parts of c16ec42
because 45510fa
was a better fix.
2015-02-02 12:08:38 -05:00
Vicente J. Botet Escriba
441c89d304
Allow to call shared_future::then multiple times. Related to #10972 .
2015-02-02 17:41:57 +01:00
Vicente J. Botet Escriba
63098e84a2
Merge branch 'develop' into fix/blocking_future
2015-02-01 19:39:43 +01:00
Vicente J. Botet Escriba
45510facc7
unwrapped future must forward the continuation to the wrapped future. Related to #10964 .
2015-02-01 14:56:52 +01:00
Vicente J. Botet Escriba
cf539064d6
Deduce T& when the make_ready_future parameter is reference_wrapper<T>. Relates to #10979 .
2015-02-01 13:44:41 +01:00
Vicente J. Botet Escriba
3431736c88
Merge branch 'develop' into fix/blocking_future
2015-01-27 22:22:37 +01:00
Jürgen Hunold
c1148a66cc
Fix gcc/clang shadow warnings.
...
The variable names are re-used in the all_futures_lock() functions.
2015-01-26 12:39:27 +01:00
Vicente J. Botet Escriba
5fa0a5d4c5
make shared_future::get() const. Related to #10971 .
2015-01-26 08:39:30 +01:00
Vicente J. Botet Escriba
e74fd82060
Merge from develop.
2015-01-24 18:02:31 +01:00
Vicente J. Botet Escriba
c16ec42941
Take care of #10964 .
2015-01-24 16:48:44 +01:00
Vicente J. Botet Escriba
b77eac3e37
Take care of #10963 .
2015-01-24 11:57:54 +01:00
Vicente J. Botet Escriba
35d7ae0d2e
add forgotten wait when shared_future::then deferred.
2015-01-23 08:36:46 +01:00
Vicente J. Botet Escriba
d9c7f95617
fix future async deferred.
2015-01-23 07:10:22 +01:00
Vicente J. Botet Escriba
06b3f6a9d7
disable async deferred on C++98 as not implemented.
2015-01-23 06:02:11 +01:00
Vicente J. Botet Escriba
895b4a0ac5
Try to fix a lot of issues, even if alldoesn't works yet.
2015-01-22 23:10:40 +01:00
Vicente J. Botet Escriba
9cb72849ee
Go towards blocking on the last future associated to an async shared state. shared_future don't work yet.
2015-01-18 12:19:17 +01:00
Vicente J. Botet Escriba
6b60943f3e
Added csbl/queue.hpp and concurrent_queues/detail/sync_deque_base.hpp dradt.
2015-01-10 16:09:15 +01:00
Vicente J. Botet Escriba
1fcaa47efa
extract future_error,future_status and launch.
2015-01-10 09:02:37 +01:00
Vicente J. Botet Escriba
aac441392a
extract wait_for_any for sequences.
2015-01-09 08:09:34 +01:00
Vicente J. Botet Escriba
69d01b9bfd
extract wait_for_all into futures/wait_for_all.hpp.
2015-01-07 07:13:48 +01:00
Vicente J. Botet Escriba
7b91ce7b64
move future_error_code.hpp to futures.
2015-01-07 06:42:27 +01:00
Vicente J. Botet Escriba
978884ff0d
extracted futures/is_future_type.hpp.
2015-01-07 06:22:20 +01:00
Vicente J. Botet Escriba
ac8ca6eb04
Added notify_when_ready/unnotify_when_ready.
2015-01-07 04:53:50 +01:00
Vicente J. Botet Escriba
1c16c52fe6
Added missing include.
2015-01-04 17:41:52 +01:00
Vicente J. Botet Escriba
9299d26acf
cleanup future.hpp.
2014-12-30 11:47:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c0470893d4
Fix failure to build on Android.
2014-12-10 14:36:29 +00:00
Vicente J. Botet Escriba
811f3df98d
ensure that the exceptions throw by a task submitted by a serial executor are transfered to it, and so the serial_executor doesn't block forever.
2014-12-06 10:47:43 +01:00
Vicente J. Botet Escriba
421469686d
Added ! defined __clang__ when tested defined __GNUC__.
2014-12-03 22:40:34 +01:00
Vicente J. Botet Escriba
72dfa02269
Added BOOST_THREAD_PROVIDES_INVOKE constraing for invoker.
2014-12-03 22:37:42 +01:00
Vicente J. Botet Escriba
83f38ea52c
fix detail::priority_queue_top.
2014-11-23 16:47:33 +01:00
Vicente J. Botet Escriba
06a9f9ab6d
Added Clock parameter to scheduler and priority_timed_queue. Fix warnings in tests.
2014-11-17 07:34:43 +01:00
Vicente J. Botet Escriba
e7f140cab6
replace >> by > >.
2014-11-14 20:14:03 +01:00
Vicente J. Botet Escriba
1b99fe5587
Replace range-based for loops to make the code more portable.
2014-11-14 08:45:16 +01:00
Vicente J. Botet Escriba
b9a70f7aca
don't use std::vector with msvc.a
2014-11-14 00:25:51 +01:00
Vicente J. Botet Escriba
ca87cbf57b
workaround bug on Boost.Config that left the section private after using the macro BOOST_DELETED_FUNCTION.
2014-11-11 22:32:25 +01:00
Vicente J. Botet Escriba
929dc55a5a
Add default Container parameter to sync_queue/sync_deque as csbl::devector.
2014-11-10 00:40:02 +01:00
Vicente J. Botet Escriba
b29d9f850c
Added devector, a minimal vector providing pop_front that can be used as Container of the sync queues.
2014-11-09 20:32:58 +01:00
Vicente J. Botet Escriba
1c81d8a4b1
remove BOOST_NO_CXX11_HDR_DEQUE as it doesn't exists art all :(.
2014-11-09 17:12:54 +01:00
Vicente J. Botet Escriba
7de29f4d45
fix typo in sync_priority_queue.hpp.
2014-11-09 17:12:03 +01:00
Vicente J. Botet Escriba
9b0705cb6f
Added deque_views. Make use of sync_queue and refactor to use sync_queue removing _front and _back.
2014-11-09 15:39:10 +01:00
Vicente J. Botet Escriba
3abdb869df
Reduce the interface of sync_quue to the queue operations, removing the deprecated ones and removing _front and _back.
2014-11-09 14:12:28 +01:00
Vicente J. Botet Escriba
f90e76a59c
Added sync_deque.
2014-11-09 13:45:05 +01:00
Vicente J. Botet Escriba
d4c8185cc9
Added priority_executor_base and refactor scheduled_executor_base.
2014-11-09 12:20:15 +01:00
Vicente J. Botet Escriba
e6501b5485
cleanup scheduled executors.
2014-11-09 11:37:18 +01:00
Vicente J. Botet Escriba
1ae3cb65f7
Make task_region more portable using Boost.Config helper macros.
2014-11-08 23:22:37 +01:00
Vicente J. Botet Escriba
a8ad389bdd
Merge branch 'develop' into feature/task_region
2014-11-06 07:42:36 +01:00
Vicente J. Botet Escriba
69c1d40750
Merge branch 'develop' into feature/promise_set_value_emplace
2014-11-05 23:43:02 +01:00
Vicente J. Botet Escriba
58698f44f1
More renamming and added some comments on scheduler.hpp.
2014-11-05 19:41:56 +01:00
Vicente J. Botet Escriba
c87b24923a
Added scheduler at/after/on executor factory helper functions.
2014-11-05 00:41:29 +01:00
Vicente J. Botet Escriba
1210fc4859
Add missing include file.
2014-11-05 00:38:21 +01:00
Vicente J. Botet Escriba
d8b6ae6266
Ensure that the numbers of pools is at least 1.
2014-11-05 00:37:52 +01:00
Vicente J. Botet Escriba
04e2223d5e
Minor renamming.
2014-11-04 22:51:25 +01:00
Vicente J. Botet Escriba
579748e7a0
Avoid locking while doing callback.
2014-11-04 22:48:57 +01:00
Vicente J. Botet Escriba
41c3914aaf
Don't try-catch on try_executing_one_task.
2014-11-02 19:42:18 +01:00
Vicente J. Botet Escriba
8693eec4a4
Make submit strong-thread safe.
2014-11-02 19:41:57 +01:00
Vicente J. Botet Escriba
3f699750a8
Avoid locking while doing callback.
2014-11-02 19:41:42 +01:00
Vicente J. Botet Escriba
4f8243cf59
Remove waiting_empty_.
2014-11-02 19:41:25 +01:00
Vicente J. Botet Escriba
4f01891da7
Added not_ready and timeout queue_op_status. Make sync_timed_queue and sync_priority_queue conform to the sync_queue interface. Aapt the test to the new interface.
2014-11-02 15:13:37 +01:00
Vicente J. Botet Escriba
c1925df81c
Fix task exception silently ignored. Make submit throw if closed. join the threads created by the thread_executor
2014-11-02 15:09:11 +01:00
Vicente J. Botet Escriba
6fd7dc0d94
Added move semantics for C++11 compilers. Need of a detail::priority_queue. Tried to do it for C++98, but heap_push/heap_pop algorithms are not move aware:(.
2014-11-01 22:18:32 +01:00
Vicente J. Botet Escriba
a2f2924298
Added missing file sync_queue_base and refactor the concurrent queues to make use of this class.
2014-11-01 22:18:09 +01:00
Vicente J. Botet Escriba
49d485f1aa
Removed BOOST_THREAD_QUEUE_DEPRECATE_OLD for priority and timed queues.
2014-11-01 11:21:09 +01:00
Vicente J. Botet Escriba
d7251f223e
Added sync_queue_base and refactor the concurrent queues to make use of this class. Make other refactor on priority and timed queues.
2014-11-01 11:02:18 +01:00
Vicente J. Botet Escriba
20a6ef7de8
Added wait_until_not_empty, wait_until_not_empty_or_closed. Rename _q_qempty to _not_empty.
2014-11-01 01:14:41 +01:00
Vicente J. Botet Escriba
d5c41e4c4a
Added tyy_pus returning queue_op_status. Rename is_closed to closed.
2014-10-31 23:49:34 +01:00
Vicente J. Botet Escriba
b96b9904b7
move scheduled_executor_base.hpp and declare scheduled_thread_pool::worker_loop inline.
2014-10-31 08:21:27 +01:00
Vicente J. Botet Escriba
304240b206
Move priority/timed queues to concurrent name space and scheduled executors to executors name spapce.
2014-10-31 08:03:15 +01:00
Vicente J. Botet Escriba
c61c139933
merged scheduled executors GSOC project from Ian Forbed.
2014-10-31 00:19:10 +01:00
Vicente J. Botet Escriba
3891eeef52
fix issue with C++98 exception library.
2014-10-26 19:43:47 +01:00
Vicente J. Botet Escriba
f1370b1255
Added a task_region_handle_gen that referes to an existing executor, so that we don't create one each time.
2014-10-26 15:17:25 +01:00
Vicente J. Botet Escriba
69f2a1df72
Added fib_task_region example and allows to work without executors.
2014-10-26 13:21:25 +01:00
Vicente J. Botet Escriba
700301e382
Added exception_list and task_region.
2014-10-26 11:27:18 +01:00
Vicente J. Botet Escriba
952aa44a98
Added promise::emplace and variadic make_ready_future.
2014-10-25 23:31:09 +02:00
Vicente J. Botet Escriba
5fb51a74fe
remove thread_was_interrupted and fix wait_internal pending issue.
2014-10-24 18:43:26 +02:00
Adam Wulkiewicz
1a4bd71616
Change members order in win32 thread_data_base to match ctor initializer list.
2014-10-23 00:01:37 +02:00
Vicente J. Botet Escriba
1029fa9c59
take in account deferred/ready futures on variadic when_all/when_any.
2014-10-12 15:47:16 +02:00
Vicente J. Botet Escriba
6f91af2154
Try to address #9569 .
2014-10-05 09:11:58 +02:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6fe7f44ea0
Clarified issue #6782 which can now be closed.
2014-10-04 19:47:48 +01:00
Vicente J. Botet Escriba
8fd4755e79
Added shared_future::then executor.
2014-10-04 10:36:57 +02:00
Vicente J. Botet Escriba
02b007a20e
Make nullary_function copyable and movable following Boost.Move. Make use of std::shared_ptr when available.
2014-10-04 10:36:44 +02:00
Vicente J. Botet Escriba
c0c78e87fc
Make invoker copyable and movable following Boost.Move.
2014-10-04 10:36:31 +02:00
Vicente J. Botet Escriba
58cde5af05
Trying to use std::function for executors::work. This doesn't works yet.
2014-10-03 21:46:57 +02:00