2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-13 00:12:17 +00:00
Commit Graph

83 Commits

Author SHA1 Message Date
Nat Goodspeed
2687814477 Merge branch 'develop' of github.com:olk/boost-fiber into sched-props-dev
Resolved conflicts:
	doc/condition_variables.qbk
	examples/cpp03/migration/workstealing_round_robin.cpp
	examples/cpp03/migration/workstealing_round_robin.hpp
	include/boost/fiber/algorithm.hpp
	include/boost/fiber/bounded_queue.hpp
	include/boost/fiber/detail/fiber_base.hpp
	include/boost/fiber/detail/fifo.hpp
	include/boost/fiber/detail/waiting_queue.hpp
	include/boost/fiber/detail/worker_fiber.hpp
	include/boost/fiber/fiber.hpp
	include/boost/fiber/fiber_manager.hpp
	include/boost/fiber/fixedsize_stack.hpp
	include/boost/fiber/operations.hpp
	include/boost/fiber/round_robin.hpp
	include/boost/fiber/unbounded_queue.hpp
	src/detail/worker_fiber.cpp
	src/fiber.cpp
	src/fiber_manager.cpp
	src/round_robin.cpp
2015-05-10 22:03:35 -04:00
Oliver Kowalke
266ae8dc4b update docu 2015-02-19 19:07:46 +01:00
Oliver Kowalke
5756de290c docu 2015-02-15 19:54:43 +01:00
Oliver Kowalke
3b9382f8df update docu 2015-02-14 11:11:11 +01:00
Oliver Kowalke
13bf486fea update stack-allocators 2015-02-06 18:29:26 +01:00
Oliver Kowalke
f6c7ab7826 rename (un)bounded_queue -> (un)bounded_channel + use allocator 2014-12-28 21:30:14 +01:00
Oliver Kowalke
2f19be6d67 use C++11 2014-12-27 19:07:42 +01:00
Oliver Kowalke
7fb469cd10 some fixes 2014-09-24 19:18:44 +02:00
Oliver Kowalke
244c539a2e Add some explanatory material in scheduling.qbk about coding your own
scheduler and setting it with set_scheduling_algorithm(). Document
sched_algorithm interface class.

Fix the example in condition_variables.qbk to explicitly unlock 'lk'
before
calling process_data().
2014-09-22 19:11:22 +02:00
Nat Goodspeed
6fb1b04789 Change some doc references from 'algorithm' to 'sched_algorithm'.
Add some explanatory material in scheduling.qbk about coding your own
scheduler and setting it with set_scheduling_algorithm(). Document
sched_algorithm interface class.

Fix the example in condition_variables.qbk to explicitly unlock 'lk' before
calling process_data().
2014-09-22 10:00:34 -04:00
Oliver Kowalke
a21b18b856 update docu 2014-09-19 16:58:16 +02:00
Oliver Kowalke
8dc8dce605 docu update 2014-09-15 17:03:31 +02:00
Oliver Kowalke
184455bca4 remove html 2014-09-15 16:56:01 +02:00
Oliver Kowalke
bdab3735ed update docu 2014-09-12 16:58:07 +02:00
Oliver Kowalke
c161e095af docu update 2014-09-09 21:02:12 +02:00
Oliver Kowalke
c005bb2c8f doc update 2014-09-09 20:40:26 +02:00
Oliver Kowalke
ef7eff3d43 update docu 2014-09-07 10:51:33 +02:00
Oliver Kowalke
491012776f update docu 2014-09-05 17:55:49 +02:00
Oliver Kowalke
e48252837f accept any clock type for lock_until() etc. 2014-09-05 17:55:16 +02:00
Oliver Kowalke
32d4a056d0 update documentation 2014-08-20 17:37:47 +02:00
Oliver Kowalke
ccbda7c04a improve performance tests and docu 2014-07-31 18:04:25 +02:00
Oliver Kowalke
c58eb91807 consolidate performance tests 2014-07-26 10:18:27 +02:00
Oliver Kowalke
142dd2cd5b some doc corrections 2014-07-21 20:04:38 +02:00
Nat Goodspeed
bcaff62763 Update docs for barrier.hpp and bounded_queue.hpp.
Use std::size_t as argument type for barrier constructor.

Add bounded_queue::upper_bound(), lower_bound(), value_pop().

Make is_empty(), is_full() const.

Add TimePointType template param to push_wait_until(), pop_wait_until().
2014-07-16 17:25:10 -04:00
Oliver Kowalke
a2d3eba716 fix migrating a fiber between threads 2014-06-26 19:01:49 +02:00
Oliver Kowalke
d4199de28a update docu -> performance counters 2014-03-22 20:54:54 +01:00
Oliver Kowalke
5b6d77b6b5 renaming of fiber classes 2014-03-05 17:30:11 +01:00
Oliver Kowalke
7cf2cabc99 allow different stack-allocators 2014-02-26 19:40:28 +01:00
Oliver Kowalke
fc608cdaf7 use symmetric_coroutine<> (from coroutine branch develop) 2014-02-22 21:38:24 +01:00
Oliver Kowalke
2b37b33011 use asymmetric_coroutine<> from (coroutine branch develop) 2014-02-22 21:26:28 +01:00
Oliver Kowalke
f20cb844e5 documentation of performance 2014-02-22 20:02:38 +01:00
Mario Lang
d471d7133d Fix some typos. 2013-12-29 14:00:36 +01:00
Oliver Kowalke
40d469d346 let notifier for thread's initial context allocate by algoritm 2013-12-28 10:19:06 +01:00
Oliver Kowalke
aa6f0b1bce add a note to destructor of fiber in documentation 2013-12-16 17:33:17 +01:00
Oliver Kowalke
3b7ed1f45a changed template args for packaged_task in documentation 2013-12-15 08:31:58 +01:00
Oliver Kowalke
240a57a8ed fix signature template arg of packaged_task 2013-12-12 20:19:17 +01:00
Oliver Kowalke
7ea3a8968c html updated 2013-12-08 22:09:03 +01:00
Oliver Kowalke
909c8ed3fc some smalle fixes in documentation 2013-12-06 08:52:22 +01:00
Nat Goodspeed
8432f8b864 Update doc for set_scheduling_algorithm() for void return.
Add note to set_scheduling_algorithm() about caller's responsibility to
eventually destroy the passed scheduler object.
2013-12-04 13:26:30 -05:00
Nat Goodspeed
025a31d9e2 Add notes for algorithm::active() and get_main_id() methods.
This reflects my improved understanding of these methods based on our mail
conversation.
Also state explicitly that you are permitted to supply your own scheduler.
2013-12-04 09:51:27 -05:00
Nat Goodspeed
7eca9fb5fb Document set_scheduling_algorithm().
Add cross-references for that and for algorithm, round_robin and
round_robin_ws.
2013-12-03 22:41:25 -05:00
Oliver Kowalke
511b740ec2 default-scheduler allocated 2013-12-02 19:45:48 +01:00
Nat Goodspeed
d49383151e Review of recent queue documentation changes and scheduling doc. 2013-11-27 10:57:22 -05:00
Nat Goodspeed
bf5428c5d5 Remove extra line containing unmatched double ]]. 2013-11-25 12:01:33 -05:00
Oliver Kowalke
e1adfd666c add doc about scheduling 2013-11-24 17:29:06 +01:00
Oliver Kowalke
ddd4f8fff6 update docu 2013-11-21 17:49:08 +01:00
Nat Goodspeed
b0d09be850 Fix doc about fiber::operator safe_bool(): NOT same as joinable().
Looking at the implementation, it seems that operator safe_bool() and its
companion, operator!(), interrogate whether the referenced fiber has or has
not terminated. joinable() does not.
Add more joinable() cross-references, and cross-reference joinable(), operator
safe_bool() and operator!().
2013-11-18 22:15:49 -05: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
Nat Goodspeed
d7b4be06c7 Link this_fiber::thread_affinity() to fiber::thread_affinity().
Use [#named_anchor] QuickBook functionality rather than trying to predict the
normalized link for [heading Member function `thread_affinity( bool)`], which
looks like this:

fiber.fiber_mgmt.fiber.member_function__code__phrase_role__identifier__thread_affinity__phrase__phrase_role__special_____phrase___phrase_role__keyword__bool__phrase__phrase_role__special_____phrase___code_
2013-11-07 08:22:58 -05:00
Nat Goodspeed
7c7683ad41 Start adding internal cross-references to fiber documentation 2013-11-06 22:02:43 -05:00