Commit Graph

28 Commits

Author SHA1 Message Date
Oliver Kowalke
1b14248f8a update docu: multiplex fibers across multiple cores 2018-10-22 10:13:30 +02:00
Oliver Kowalke
c49b8424e4 update docu 2018-02-15 17:48:37 +01:00
oliver Kowalke
b6db2b2ebc docu: fix internal impl using call/cc 2017-10-20 11:04:37 +02:00
Oliver Kowalke
ff7a27f0c1 documentation 2017-05-26 15:53:18 +02:00
Oliver Kowalke
11472ef1b5 documentation update 2017-05-07 08:09:43 +02:00
Oliver Kowalke
e9144fba8e remove warning in docu 2016-08-20 13:16:29 +02:00
Nat Goodspeed
87551c5419 Snapshot of ongoing pass through Fiber documentation.
Highlight predicate condition_variable::wait() method in condition_variable
front matter.

Rewrite the explanation of wait()'s Precondition.

Add a condition_variables subsection about no spurious condition_variable
wakeups. Remove "or spuriously" from wakeup conditions in wait*() methods.
First pass through "spurious wakeup" section in Rationale.

First pass through migration.qbk. Use lock_t throughout work_sharing.cpp,
instead of lock_t, lock_count and explicit std::unique_lock<std::mutex>
declarations. Unify treatment of main and dispatcher fibers.

Clarify thread-safety requirements on sched_algorithm::notify() and
suspend_until().

Clarify disable_interruption when rethrowing fiber_interrupted.

Consolidate future<T>::get(): returns T whether T is R, R& or void.

Mention nesting of disable_interruption (which matters) versus nesting of
restore_interruption (which doesn't). Mention that a disable_interruption
constructed within the scope of another disable_interruption is a no-op, both
itself and when passed to restore_interruption.

When packaged_task::operator()() stores a value or an exception, state "as if"
by promise::set_value() or set_exception(): the shared state is set ready.
Similarly for ~packaged_task() and ~promise() setting broken_promise.

Sprinkle links to the Allocator concept, std::allocator and
std::allocator_arg_t where referenced. Similarly for StackAllocator.

Add more cross-reference links where Fiber classes and methods are mentioned.
Also things like std::unique_lock and std::mutex.

Clarify error condition for value_pop() when channel is close()d.

Since fiber_specific_ptr::release() does not invoke cleanup, it should not
throw an exception raised during cleanup.
2016-02-11 11:27:26 -05:00
Nat Goodspeed
8f62e85583 Mention (with link) fiber migration in Overview section. 2016-02-09 20:22:32 -05:00
Oliver Kowalke
d541e88a4b update documentation 2015-12-29 15:04:13 +01:00
Oliver Kowalke
f9c5075e10 update docu 2015-12-12 23:32:28 +01:00
Nat Goodspeed
d653cbdcc6 Finish proofreading pass.
Add a note to the condition_variable::wait_for(..., pred) overload.

fiber_specific_ptr::reset() has no default argument.

Remove mention of launch policy deferred, since no API accepts a launch
policy argument.

Copy construction or copy assignment of a shared_future leaves other.valid()
unchanged. It won't be 'true' unless it was 'true' before.

Mention that [shared_]future::get_exception_ptr() does not invalidate.

Note that 'blocks' and 'suspends' are used interchangeably.

Add some cross-references; add link to std::allocator_arg_t. Clarify the
cross-reference to the paragraph describing BOOST_FIBERS_NO_ATOMICS.

Reformat some overly-long source lines.
2015-09-03 09:16:09 -04:00
Nat Goodspeed
f3d80ef589 Update some remarks about Asio; add cross-references. 2015-08-31 20:11:05 -04:00
Nat Goodspeed
e1c9b2b54c Make Rationale section reference new BOOST_FIBERS_NO_ATOMICS passage.
Tweaks to new wording.
2015-07-28 22:31:35 -04:00
Oliver Kowalke
6740de6761 documentation: synch. objects are threadsafe per default
- lib uses atomics to safely synchronize objects running in
different threads
- use BOOST_FIBERS_NO_ATOMICS to remove safety
2015-07-28 09:57:00 +02:00
Oliver Kowalke
350a26b27a documentation: cycles of fiber switch
- a context switch between fibers costs less than 100 cycles
2015-07-28 09:20:27 +02:00
Nat Goodspeed
bbdd101393 Snapshot of incomplete documentation review. 2015-07-10 09:47:11 -04:00
Oliver Kowalke
ca7e8be37c update docu 2015-05-23 18:27:08 +02:00
Oliver Kowalke
3b9382f8df update docu 2015-02-14 11:11:11 +01:00
Nat Goodspeed
d49383151e Review of recent queue documentation changes and scheduling doc. 2013-11-27 10:57:22 -05:00
Oliver Kowalke
ddd4f8fff6 update docu 2013-11-21 17:49:08 +01:00
Nat Goodspeed
e436bc991d Add class_heading, member_heading et al. QuickBook templates and use for cross-referencing. 2013-11-08 18:30:11 -05:00
Oliver Kowalke
676b9616d6 documentation update (pass #3) 2013-10-26 10:18:35 +02:00
Oliver Kowalke
2d005f743e docu 2013-09-26 19:26:18 +02:00
Oliver Kowalke
327104ffe3 dou 2013-09-15 19:38:29 +02:00
Oliver Kowalke
5e59b45c8d documentation 2013-09-13 17:38:36 +02:00
Oliver Kowalke
f06b6cf0d4 fix auto-link in config.hpp 2013-08-13 10:27:02 +02:00
Oliver Kowalke
b9542e1745 enhance docuemntation 2013-06-12 16:59:10 +02:00
Oliver Kowalke
81e62e8962 changed directory structure as required by modularized-boost 2012-12-09 15:22:59 +01:00