2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-20 14:42:21 +00:00
Commit Graph

273 Commits

Author SHA1 Message Date
Oliver Kowalke
e9144fba8e remove warning in docu 2016-08-20 13:16:29 +02:00
oliver Kowalke
4fbded4616 add boostdoc to doc/Jamfile 2016-06-15 08:17:09 +02:00
Oliver Kowalke
1f81bc2a5f Merge branch 'exp' into develop 2016-05-22 07:20:22 +02:00
Nat Goodspeed
155c803075 Fix documentation about random_chase_lev et al. 2016-05-20 11:39:28 -04:00
Oliver Kowalke
4e581b55d7 update documentation 2016-05-16 14:26:39 +02:00
Oliver Kowalke
310f3ce2f2 move sched_algorithm to algo::algorithm
- new namesapce algo
- shared_round_robin with shared ready queue
2016-05-13 20:14:48 +02:00
Oliver Kowalke
f1b43062d5 update documentation 2016-05-12 20:35:21 +02:00
Oliver Kowalke
cf47ee0eb7 update docu 2016-05-08 13:51:38 +02:00
Oliver Kowalke
e3ebf6f6ef rename "launch_policy" to "launch" 2016-05-08 10:01:52 +02:00
Oliver Kowalke
cd00819982 documentation: update html files 2016-05-03 18:49:24 +02:00
Nat Goodspeed
1949291c98 Fix context::attach() documentation.
The notes erroneously imposed conditions on *this that should have been
applied instead to its parameter f.
2016-05-02 16:08:57 -04:00
Nat Goodspeed
ff35fc1f25 Flesh out doc for context::attach() and detach() + migration notes. 2016-05-02 15:56:11 -04:00
Nat Goodspeed
247e551fbd Make context::is_context(type) values explicitly unspecified. 2016-05-02 13:24:13 -04:00
Oliver Kowalke
968c32c842 replace context::migrate() by context::attach()/context::detach() 2016-05-02 18:56:17 +02:00
Oliver Kowalke
c835d09e02 update of html-files (documentation) 2016-05-01 16:42:59 +02:00
Oliver Kowalke
5c18abdbed update of html-files (documentation) 2016-05-01 09:22:06 +02:00
Nat Goodspeed
eaf592f0e5 Remove references to multiple threads, yield_hop and migration.
Also use curly apostrophes throughout.
2016-04-30 10:16:47 -04:00
Nat Goodspeed
ba171ee066 Fix the expansion of __run_service__ to abbreviated run_svc() name.
Also make __io_service__ expand to a link to Asio documentation.
2016-04-30 10:14:46 -04:00
Nat Goodspeed
b1fe17d264 Make boost::asio::io_service a link in 'support for Boost.Asio'. 2016-04-30 10:10:32 -04:00
Nat Goodspeed
fd96f095e5 Bundled [^...] template works better than my [`...] with embedded link. 2016-04-30 10:10:32 -04:00
Nat Goodspeed
0508706572 Use new [s] and [t] templates to produce curly apostrophes. 2016-04-30 10:10:32 -04:00
Nat Goodspeed
f4bc10e331 Add [,] template for curly apostrophe.
Also add [s] and [t] templates so we can write it[s] rather than it[,]s and
isn[t] rather than isn[,]t.

Remove extraneous spaces from inline template definitions: the spaces were
considered part of the template expansion! This was causing odd spacing where
those templates were used.
2016-04-30 10:10:32 -04:00
Nat Goodspeed
8f59f54dff Add documentation for launch_policy.
Add fiber() and async() overloads accepting launch_policy.

Now that we have launch_policy documentation, cross-link it where it's
mentioned in integration.qbk.
2016-04-29 17:58:49 -04:00
Nat Goodspeed
88f5f06fed Describe updated Fiber / Asio round_robin integration. 2016-04-29 16:26:01 -04:00
Nat Goodspeed
a0a72a1eb0 Use sections rather than headings to add table-of-contents entries. 2016-04-29 16:25:02 -04:00
Oliver Kowalke
57267ec957 remove support for fiber interruption 2016-04-19 18:16:31 +02:00
Nat Goodspeed
9b3559dd49 Remove 'yield_hop' and the whole allow_hop_ mechanism.
Given the necessity for fibers::asio::round_robin to share its ready queue
among all threads calling io_service::run() on the same io_service instance,
the capability to allow hop (or not) in the fibers::asio::yield mechanism is
redundant.
2016-04-06 12:17:35 -04:00
Oliver Kowalke
ff3da9ec0f fix typo in stack.qbk 2016-03-28 20:29:27 +02:00
Oliver Kowalke
6b490eb190 update stack.qbk 2016-03-28 20:23:08 +02:00
Oliver Kowalke
f3cb64fb91 update html 2016-03-28 18:15:14 +02:00
Nat Goodspeed
4ebc1ed2f4 Update fibers::asio::yield doc for current implementation. 2016-03-27 22:46:38 -04:00
Nat Goodspeed
85c0d26d11 Fix minor errors in doc generation. 2016-03-23 21:28:40 -04:00
Nat Goodspeed
f905cb4c3b Document context::suspend() and set_ready(). 2016-03-12 10:45:54 -05:00
Nat Goodspeed
d9e5bde625 Make a pass through enum class type and new context::is_context().
Do not document the specific values of enum class type values. Consuming code
should be based solely on enum names; their values are an implementation
detail.

Ensure that all enum class type values are mentioned in note for is_context()
method.
2016-03-07 21:17:56 -05:00
Nat Goodspeed
908bd3ca68 Fix up references to traits_type in stack allocation section.
Provide a link to Boost.Context's stack_traits documentation to look up
is_unbounded(), minimum_size() and maximum_size().

Fix spellings of minimum_size() and maximum_size().

When stack_traits::is_unbounded(), we shouldn't have to care about
stack_traits::maximum_size(). Consistently change:

    ! traits_type::is_unbounded() && size <= traits_type::maximum_size()

to:

    traits_type::is_unbounded() || size <= traits_type::maximum_size()
2016-03-07 21:14:37 -05:00
Nat Goodspeed
fb17dc13d4 Haskell has two L's -- see https://www.haskell.org/ 2016-03-07 20:51:58 -05:00
Oliver Kowalke
26ca17f4e5 docu related to skynet 2016-03-04 19:15:41 +01:00
Oliver Kowalke
cd92c2b003 update docu 2016-03-04 19:10:22 +01:00
Oliver Kowalke
3572b00e59 update docu regarding to performance 2016-02-28 15:56:54 +01:00
Oliver Kowalke
ccd6ebd974 update docu for stacks 2016-02-27 20:28:34 +01:00
Oliver Kowalke
58e745dcc3 documentation updated 2016-02-27 20:20:03 +01:00
Oliver Kowalke
6f0caee2e7 docu: make isntalltion section an appendix 2016-02-18 19:23:55 +01:00
Oliver Kowalke
fb11931689 Update scheduling.qbk 2016-02-16 08:30:50 +01:00
Oliver Kowalke
d5faf0c8fb fix docu for context::is_context() 2016-02-16 08:29:47 +01:00
Oliver Kowalke
884bd21c4d reintroduce future<>::get() specializations in future.qbk 2016-02-16 08:15:48 +01:00
Oliver Kowalke
d8124ab12f disable section 'installing' at first 2016-02-16 08:12:33 +01:00
Oliver Kowalke
8536cdd8fe migrate a running fiber (not thread) 2016-02-16 08:10:17 +01:00
Nat Goodspeed
de4b03cb21 Tweak new wording in Rationale section.
Add a link to the section "No Spurious Wakeups" in the condition_variable
section.

Make a pass over "migrating fibers between threads," adding a link to the
whole new section on that same topic.
2016-02-15 20:31:52 -05:00
Nat Goodspeed
ea0c16080b A few more documentation-related edits 2016-02-15 17:12:56 -05: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