2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-18 01:52:24 +00:00
Commit Graph

125 Commits

Author SHA1 Message Date
Oliver Kowalke
f456902492 add test for bounded_channel (basics) 2015-08-02 21:17:04 +02:00
Oliver Kowalke
f275125b93 fixes for unbounded_channel 2015-08-02 20:48:52 +02:00
Nat Goodspeed
23434ca2e2 Tweaks to new documentation 2015-07-29 09:21:49 -04:00
Oliver Kowalke
7a792810c9 documentation: some notes to boost.asio integration 2015-07-29 12:24:00 +02:00
Oliver Kowalke
5feef62a49 documentation: add description for mutext types 2015-07-29 12:13:33 +02:00
Oliver Kowalke
b8e2520b29 documentation: formating 2015-07-29 11:48:42 +02:00
Oliver Kowalke
4140e10330 this_fiber::yield() is not an interruption point 2015-07-29 11:47:17 +02:00
Oliver Kowalke
37b22812f8 documentation: note about thread-safe synchronization
- note added to section 'Synchronization"
2015-07-29 11:35:01 +02:00
Oliver Kowalke
5c9cbd0307 documentation: add missing function descriptions 2015-07-29 11:30:43 +02:00
Oliver Kowalke
88d44ffee6 documentation: fix fals function-links in interruption points 2015-07-29 11:19:18 +02:00
Oliver Kowalke
2cbe22d8af documentation: add free function wait_interval()
- wait_itneval() sets/returns the time interval the thread is set to
sleep if not fiber is ready to run
2015-07-29 11:18:09 +02:00
Oliver Kowalke
3dbca594df documentation: add missing interruption points in list 2015-07-29 10:59:07 +02:00
Oliver Kowalke
2d07f7b47b documentation: future throw fiber_interrupted 2015-07-29 10:58:26 +02:00
Oliver Kowalke
d5858a2677 documentation: remove invalid functions 2015-07-29 10:38:42 +02:00
Oliver Kowalke
1c139895e0 documentation: rename queue.qbk -> channel.qbk 2015-07-29 10:25:18 +02:00
Oliver Kowalke
519a8924a9 documentation: barrier:wait() is interruption point 2015-07-29 10:20:01 +02:00
Oliver Kowalke
caf55428a1 documentation: fiber::join() asserts on not-a-fiber 2015-07-29 10:12:31 +02: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
Nat Goodspeed
dbca64d7d0 Merge branch 'develop' of github.com:olk/boost-fiber into develop 2015-07-28 22:07:13 -04:00
Nat Goodspeed
ac248e75f8 Couple tweaks to futures.qbk. 2015-07-28 22:06:44 -04:00
Oliver Kowalke
b63f95758d documentation: formating of code in scheduler.qbk 2015-07-28 18:24:25 +02:00
Oliver Kowalke
161f2a134c documentation: default scheduler is not heap-allocated
- round_robin, the default scheduler, is created at thread-creation
  as thread-local, local static
2015-07-28 18:20:31 +02:00
Oliver Kowalke
1413406fab documentation: ready_fibers() returns zero if scheduler has no fibers 2015-07-28 17:22:12 +02: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
3fac431abc documentation: this_fiber::yield() is a interruption point
- this_fiber::yield() calls fiber_manager::yield() that calls
fiber_manager::run() -> interruption point
2015-07-28 09:51:58 +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
018972f69a Describe bounded_channel::pop() et al. same as unbounded_channel.
Well, almost the same: bounded_channel pop operations include the note about
unblocking blocked push operations. Parameterize xchannel_pop (et al.) to
allow this divergence between unbounded_channel and bounded_channel pop
methods.
2015-07-22 08:24:17 -04:00
Nat Goodspeed
0004ac676f Fix "enchanneled"/"dechanneled". Encapsulate some redundant wording.
The descriptions of [un]bounded_channel::push() and the other push variants
are very similar, and must be kept consistent. Similarly, all the pop variants
must be kept consistent. Use QuickBook templates to supply much of the wording
for these methods.
2015-07-21 10:44:49 -04:00
Nat Goodspeed
a4de0bb7a5 More documentation.
Add note explaining why synchronization objects can neither be moved nor
copied.

Introduce line breaks for some code lines that get broken strangely by doc
toolchain.

Eliminate reference to mutex::scoped_lock.
2015-07-20 09:40:01 -04:00
Nat Goodspeed
3674114094 Merge branch 'develop' of github.com:olk/boost-fiber into develop 2015-07-19 23:11:02 -04:00
Nat Goodspeed
1dadc51ec4 Add reference documentation for custom scheduling classes.
Also resolve certain previously-dangling internal documentation
cross-references: custom, synchronization, scheduling, stack.

Add documentation placeholders for mutex (and friends) lock(), try_lock(),
unlock() methods.

Add documentation placeholders for future (and shared_future)
get_exception_ptr() methods.

Remove documentation for obsolete future (and shared_future) swap(), operator
safe_bool() and operator!() methods.
2015-07-19 22:57:56 -04:00
Nat Goodspeed
bbdd101393 Snapshot of incomplete documentation review. 2015-07-10 09:47:11 -04:00
Oliver Kowalke
e7b1ee131c add function ready_fibers() 2015-07-03 18:03:14 +02:00
Oliver Kowalke
5d18cd5a4e add interruption point after fiber_manager::run()
- functions fiber_manager::join()/fiber_manager::yield()/fiber_manager:.wait()/fiber_manager_wait_until()
  check for interrption of the current fiber
2015-06-21 10:53:37 +02:00
Oliver Kowalke
6c35324727 use atomics per default
- atomics can be disable using BOOST_FIBERS_NO_ATOMICS compiler flag
2015-06-20 21:31:34 +02:00
Oliver Kowalke
20d08d98cd enable atomics with BOOST_FIBERS_USE_ATOMCIS 2015-06-19 21:39:34 +02:00
Nat Goodspeed
050d974e5e Merge branch 'develop' of github.com:olk/boost-fiber into develop 2015-06-14 21:14:42 -04:00
Nat Goodspeed
2946b35b0d Fix minor Quickbook syntax error. 2015-06-14 21:14:02 -04:00
Oliver Kowalke
5f2c8e47d4 update documentation: using Windows Fiber API 2015-06-06 09:02:01 +02:00
Oliver Kowalke
ca7e8be37c update docu 2015-05-23 18:27:08 +02:00
Nat Goodspeed
77a443b03b Merge branch 'develop' of github.com:olk/boost-fiber into sched-props-dev 2015-05-11 05:51:14 -04:00
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
e1bd9b8151 docu 2015-04-18 13:23:08 +02: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