2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-19 14:22:23 +00:00
Commit Graph

226 Commits

Author SHA1 Message Date
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
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
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
172d5569a6 fix typo in comment of example work_sharing.cpp 2016-01-20 19:44:59 +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
d541e88a4b update documentation 2015-12-29 15:04:13 +01:00
Oliver Kowalke
ff8537d153 re-enable example wait_stuff 2015-12-17 20:05:49 +01:00
Oliver Kowalke
b196c2d872 disable example wait_stuff from build 2015-12-14 20:45:46 +01:00
Oliver Kowalke
db180f08da relax to C++11 2015-12-12 23:19:33 +01:00
Oliver Kowalke
6034c1b09b reenable Nat's promise_handler impl 2015-12-05 15:14:54 +01:00
Oliver Kowalke
3319841788 use spinlock_lock+context instead of function<> 2015-12-03 17:57:00 +01:00
Oliver Kowalke
726d4d51b9 ++14 polishing 2015-12-01 21:07:11 +01:00
Oliver Kowalke
ca655a84d9 execute func + set active fiber inside context::resume() 2015-11-22 14:28:09 +01:00
Oliver Kowalke
a71e19ec4b fix work-stealing example 2015-11-11 07:18:32 +01:00
Oliver Kowalke
5973f6a262 add work-stealing example 2015-10-21 15:26:55 +02:00
Oliver Kowalke
f743b63bc0 replace context::attach()/detach() by context::migrate() 2015-10-21 15:25:12 +02:00
Oliver Kowalke
edd439233a fixups for asio examples 2015-10-17 14:41:53 +02:00
Oliver Kowalke
5345d810a8 asio: executed dummy fiber after sleep-timer expires 2015-10-14 13:43:14 +02:00
Oliver Kowalke
51c1a96c4d introduce attach/detach of context 2015-10-14 13:37:44 +02:00
Oliver Kowalke
7617b74e57 remove second unlinking from worker-queue in work-sharing example 2015-10-12 22:05:15 +02:00
Oliver Kowalke
c07115115c work sharing example: some modifications 2015-10-12 18:55:54 +02:00
Oliver Kowalke
0deb75a699 modify work-sharign example 2015-10-12 18:44:21 +02:00
Oliver Kowalke
380e8b30c1 use atomic coutner for remainng fibers
- instead of using scheduling_algorithm::has_ready_fibers() use
  a atomic counter as termination indication
- scheduling_algorithm::has_ready_fibers() returns true even if
  only main-context and dispatcher-context are ready -> false indication
  for work-sharing example
2015-10-11 12:01:30 +02:00
Oliver Kowalke
d4c7232fa2 modify work-sharing example 2015-10-11 08:41:49 +02:00
Oliver Kowalke
ecab1c5ee6 work-sharing example 2015-10-10 21:51:14 +02:00
Oliver Kowalke
b032457397 asio examples added 2015-10-10 21:50:22 +02:00
Oliver Kowalke
ae67ee1694 asio's spawn() 2015-10-05 19:23:16 +02:00
Oliver Kowalke
5d71a4f8cd asio examples 2015-10-04 20:08:21 +02:00
Oliver Kowalke
5357f7038e scheduling-algorithm handles empty ready-queue
- if dispatcher-context detects empty ready-queue
  the scheduler has to be suspended till signaled or
  timeout reached
2015-10-03 09:35:47 +02:00
Oliver Kowalke
275ae3b981 add additional examples 2015-09-30 17:38:44 +02:00
Oliver Kowalke
48d652adab add example wait_stuff 2015-09-29 20:27:33 +02:00
Oliver Kowalke
6d24450d40 example futures_mt removed 2015-09-29 20:26:35 +02:00
Oliver Kowalke
253d981f52 examples added 2015-09-29 17:55:46 +02:00
Oliver Kowalke
d0cb6e6756 some examples 2015-09-22 21:10:14 +02:00
Oliver Kowalke
eafeaaae01 remove examples and tests 2015-09-16 19:12:57 +02:00
Oliver Kowalke
8c4dda107c support signaling a fiber from another thread
- for this first version lockfree::queue<> is used
- maybe Dimitry Byukov's mpsc intrusive queue is better suited
2015-09-13 09:20:35 +02:00
Oliver Kowalke
070606d2d1 disable asio examples
- interaction with external event-loops not implemented
2015-09-11 20:45:54 +02:00
Oliver Kowalke
abd1ff524c fixes for signaling interruption and wait 2015-09-11 18:42:16 +02:00
Oliver Kowalke
e44a41b71e add output 'done' at the end of examples 2015-09-11 18:41:46 +02:00
Oliver Kowalke
2173200c14 example simple 2015-09-10 18:07:41 +02:00
Nat Goodspeed
c9bd8360b4 Merge branch 'develop' of http://github.com/olk/boost-fiber into develop 2015-09-09 21:47:46 -04:00