Nat Goodspeed
32f11ec4c6
Eliminate ref to stack-allocator concept within heading that defines it.
...
This produced QuickBook warnings. Clean up those warnings.
2016-02-08 15:58:42 -05:00
Nat Goodspeed
f6fc028b7f
Merge branch 'develop' of github.com:olk/boost-fiber into develop
2016-02-08 09:16:49 -05:00
Oliver Kowalke
91ece536bd
provide impl for move-ops in test_async
2016-02-07 12:01:47 +01:00
Nat Goodspeed
3b9e9a3a56
Snapshot of documentation update for 2016 review.
...
Note effect of BOOST_USE_SEGMENTED_STACKS if StackAllocator is not explicitly
passed.
Introduce function_heading_for QuickBook template to allow separate
descriptions of swap(fiber), swap(packaged_task) and swap(promise).
Document async() using C++14 std::result_of_t and std::decay_t, aligning with
std::async() documentation.
Rework when_any / when_all examples to use unbounded_channel throughout, since
we always close() the channel after the first value anyway. bounded_channel
doesn't really add much value here.
Make wait_first_outcome_impl() infer its channel pointer type. That way we can
reuse that function instead of coding a separate wait_all_until_error_impl(),
which differs only in using the nchannel facade instead of directly pushing to
unbounded_channel.
Explain use of std::bind() to bind a lambda.
Use a more nuanced discussion of promise lifetime in write_ec() example
function.
Use condition_variable::wait(lock, predicate) in a couple places in
work_sharing.cpp example.
2016-02-06 23:17:04 -05:00
Oliver Kowalke
778656934f
captured_context renamed to execution_context (v2)
...
- execution_context (v2) is enabled per default
- execution_context (v1) is used for segmented stacks
2016-02-06 13:34:10 +01:00
Oliver Kowalke
12555f9561
execution_context required for segmented stacks
2016-02-06 10:21:54 +01:00
Oliver Kowalke
7e183329ee
use captured_context aonly
2016-02-05 18:14:38 +01:00
Oliver Kowalke
aa0bdfffa6
fix unit-tests
2016-02-03 17:08:19 +01:00
Oliver Kowalke
da14401975
enhance tests
2016-02-03 16:56:28 +01:00
Oliver Kowalke
ea1003b48a
cast function + arguments to rvalues before apply()
2016-02-03 16:55:44 +01:00
Oliver Kowalke
59a4317bf3
use condition_variable::wait(lk,pred)
2016-02-02 17:07:29 +01:00
Oliver Kowalke
6567fde460
add initializer brackets to yeld in example
2016-02-02 17:07:01 +01:00
Oliver Kowalke
bacbb59afa
pass active cotnext directly to yield()
2016-02-02 17:06:21 +01:00
Oliver Kowalke
8b3d3a195f
reduce access to context::active()
2016-02-02 17:05:54 +01:00
Oliver Kowalke
1ace8bbb36
make async_result::get() an interruption point
2016-01-31 18:14:24 +01:00
Oliver Kowalke
3ac9dde4d0
update asio integration example
2016-01-31 16:48:04 +01:00
Oliver Kowalke
284bdf6f78
fix asio integration - skip promise_handler
2016-01-31 16:14:14 +01:00
Oliver Kowalke
62b2a52857
some fixes for asio integration - promise problematic
2016-01-31 11:00:08 +01:00
Oliver Kowalke
51f4cb1a26
update asio integration in directory examples
2016-01-29 17:04:15 +01:00
Oliver Kowalke
3cfe41c01e
fix asio/round_robin.hpp
...
block thread only in io_service::rune_one() if no fibers ready
2016-01-26 11:54:27 +01:00
Oliver Kowalke
dd661d4e5d
attempt of better integration with asio
2016-01-25 21:48:18 +01:00
Oliver Kowalke
a4c2315c54
fix examples because autoreset_event was removed
2016-01-25 21:47:58 +01:00
Oliver Kowalke
81ac20b3dc
remove autoreset_event
2016-01-24 16:12:44 +01:00
Oliver Kowalke
a36d229000
update docu
2016-01-20 19:45:14 +01:00
Oliver Kowalke
172d5569a6
fix typo in comment of example work_sharing.cpp
2016-01-20 19:44:59 +01:00
Oliver Kowalke
1f33787ade
update docu
2016-01-20 19:42:40 +01:00
Oliver Kowalke
f01cf1daff
update migration example
2016-01-20 19:42:26 +01:00
Oliver Kowalke
34be91cb3c
update docu migration
2016-01-17 21:08:29 +01:00
Oliver Kowalke
aaf9dde6eb
docu
2016-01-14 20:20:09 +01:00
Oliver Kowalke
baa2a109a1
overhead of clock not in performance output
2016-01-14 18:58:20 +01:00
Oliver Kowalke
d541e88a4b
update documentation
2015-12-29 15:04:13 +01:00
Oliver Kowalke
c3e54f5dcf
remove noexcept from fiber_specific_ptr ctor
2015-12-29 14:48:36 +01:00
Oliver Kowalke
6f5d2b5376
nvalid_argument and fiber_resource_error rremoved
2015-12-29 14:17:03 +01:00
Oliver Kowalke
24fa47a1f0
remove noexcept from mutex/timed_mutex try_lock()
2015-12-29 11:57:25 +01:00
Oliver Kowalke
4c05ff494d
remove noexcept from timed wait-ops for mutex classes
2015-12-29 11:30:30 +01:00
Oliver Kowalke
12554320ae
enable pre-condition in scheduler::attack_worker_context()
2015-12-27 23:22:38 +01:00
Oliver Kowalke
70e1d2af0b
releasing fss might throw
...
- cleanup fucntion of fss might throw
-> remove noexcept specifier
2015-12-27 17:29:26 +01:00
Oliver Kowalke
4c95c148fc
make future ctor private
...
- ctor creating future from future_base should be private
2015-12-27 15:13:58 +01:00
Oliver Kowalke
ed38759508
remove noexcept from new_properties()
2015-12-27 14:21:47 +01:00
Oliver Kowalke
ba49a575ce
remove noexcept from channel::try_pop()
...
- move-op might throw
2015-12-27 14:20:46 +01:00
Oliver Kowalke
811347bce0
define own future_status
2015-12-27 14:20:26 +01:00
Oliver Kowalke
056a681459
fix fiber-exceptions
2015-12-26 19:52:21 +01:00
Oliver Kowalke
f4925c6b08
add noexcept tp try_lock_for()/try_lock_until()
2015-12-26 18:13:50 +01:00
Oliver Kowalke
8413230c04
public properties() might throw -> remove noexcept
2015-12-25 20:32:10 +01:00
Oliver Kowalke
80b281ea34
remove fiber::operator bool()
2015-12-25 20:30:03 +01:00
Oliver Kowalke
e72e4b60e1
declare own cv_status instead using std::cv_status
2015-12-21 17:21:08 +01:00
Oliver Kowalke
e39216055c
specify only first item in future_errc enum
2015-12-21 17:20:38 +01:00
Oliver Kowalke
d316cf7afe
rename status enum of spinlock
2015-12-21 17:20:04 +01:00
Oliver Kowalke
8ef55049c6
add precondition - lock owned - for shared_state
2015-12-21 16:57:45 +01:00
Oliver Kowalke
a964633c63
use condition-variable::wait() with predicate in channel
2015-12-21 16:44:37 +01:00