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

48 Commits

Author SHA1 Message Date
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
9d246ae680 enable compiling with atomics per default 2015-06-20 12:27:51 +02:00
Oliver Kowalke
e2404eefd7 introduce new queue for terminated fibers 2015-06-13 08:14:14 +02:00
Oliver Kowalke
9b8c772388 define BOOST_DISABLE_ASSERTS in Jamfile
- for variant=release or optimization=speed define BOOST_DISABLE_ASSERTS
2015-06-13 08:06:18 +02:00
Nat Goodspeed
765014daee working our way through build errors 2015-05-11 05:38:45 -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
f373348335 update Jamfiles.v2 2015-02-12 16:30:10 +01:00
Oliver Kowalke
aa337b07f7 move 'fm_' - free functions into fiber_manager 2015-02-08 16:02:22 +01:00
Oliver Kowalke
654127af00 rename fiber_base -> fiber_context and move to public namespace 2015-01-04 16:05:08 +01:00
Oliver Kowalke
2f19be6d67 use C++11 2014-12-27 19:07:42 +01:00
Nat Goodspeed
ed64ee77f8 Set fiber_properties::sched_algo_ every time through awakened().
Instead of setting a fiber_properties subclass's sched_algo_ back pointer once
at construction time, unconditionally set it every time that fiber becomes
READY (and is therefore passed to sched_algorithm::awakened()). This handles
the case in which that fiber migrates to a different thread with a different
sched_algorithm subclass instance.

Break out fiber_properties::notify() implementation to a separate .cpp
implementation file so it can bring in algorithm.hpp. We don't want
properties.hpp to depend on algorithm.hpp.
2014-11-10 19:59:29 -05:00
Oliver Kowalke
7fb469cd10 some fixes 2014-09-24 19:18:44 +02:00
Oliver Kowalke
9057a3c365 split round_robin into sched_algorithm + fiber_manager 2014-03-20 20:04:59 +01:00
Oliver Kowalke
cf90b40978 class fiber_group removed 2014-03-19 21:29:05 +01:00
Oliver Kowalke
228aae6833 do not use reference-counting 2014-03-19 19:55:56 +01:00
Oliver Kowalke
5b6d77b6b5 renaming of fiber classes 2014-03-05 17:30:11 +01:00
Oliver Kowalke
67111d3e58 workstealing round-robin scheduler moved to examples 2014-03-04 18:01:42 +01:00
Oliver Kowalke
dee8c72d2a rename boost.strand to boost.fiber 2013-12-16 17:58:20 +01:00
Oliver Kowalke
436883ca33 add workstealing round_robin 2013-10-25 18:01:56 +02:00
Oliver Kowalke
98f54ad0e4 rename fibers::asio::io_service -> fibers::asio::round_robin 2013-10-24 18:42:07 +02:00
Oliver Kowalke
d924f5aa87 spinlock added 2013-10-17 20:55:16 +02:00
Oliver Kowalke
ec8a11e60c atomic fiber::state_ 2013-10-17 19:21:26 +02:00
Oliver Kowalke
2a6ea310a1 fix linkingissue 2013-09-28 16:53:04 +02:00
Oliver Kowalke
84d2a50491 fix Jamfiles and multithreading 2013-09-28 10:24:47 +02:00
Oliver Kowalke
8734e49176 remove obsolete classes/files 2013-09-09 09:41:04 +02:00
Oliver Kowalke
e996d2e28f use coroutines inside fiber 2013-09-09 08:52:26 +02:00
Oliver Kowalke
5afff7e0f9 fix libname for install process 2013-08-18 21:02:39 +02:00
Oliver Kowalke
4121cac318 add support for timed-operations (wait_for/wait_until) 2013-08-16 21:24:32 +02:00
Oliver Kowalke
94482d25b6 add time-point to schedulable fiber 2013-08-13 18:23:53 +02:00
Oliver Kowalke
f06b6cf0d4 fix auto-link in config.hpp 2013-08-13 10:27:02 +02:00
Oliver Kowalke
77b8f1270c add recursive_mutex 2013-06-25 17:32:40 +02:00
Oliver Kowalke
50441a8980 fiber_group added 2013-06-23 13:02:55 +02:00
Oliver Kowalke
de3bc64e4f boost.asio related stuff (fiber-aware io_servic etc.) 2013-06-14 20:37:47 +02:00
Oliver Kowalke
6b5d58d2bb some enhancments 2013-06-09 20:31:38 +02:00
Oliver Kowalke
5396888ec3 atomic-ops removed 2013-03-19 18:19:27 +01:00
Oliver Kowalke
12229bbea2 new future impl: 1.part: promise, future, future_base, future_object 2013-03-03 16:54:53 +01:00
Oliver Kowalke
b90459f94d add thread_yield() 2013-02-03 15:43:35 +01:00
Oliver Kowalke
c23397b018 remove dependenxcy to bosot.chrono and boost.thread 2013-01-31 17:35:02 +01:00
Oliver Kowalke
97fb1c80ac some modes: use this_fiber in future.hpp 2013-01-23 19:48:27 +01:00
Oliver Kowalke
df40f8c9f4 add interuption_points() in waiting functions 2013-01-11 18:59:21 +01:00
Oliver Kowalke
f18136562f spin_mutext -> soinlock; fixes 2013-01-09 17:09:16 +01:00
Oliver Kowalke
46cd4bd112 fix tests 2013-01-08 17:38:16 +01:00
Oliver Kowalke
77e1b216e0 use atomic operations 2012-12-31 11:34:02 +01:00
Oliver Kowalke
cfdcf1d16a interface algorithm, round_robin 2012-12-19 19:37:05 +01:00
Oliver Kowalke
b0a59e4fb8 default_scheduler moved to public namespace 2012-12-16 20:27:53 +01:00
Oliver Kowalke
fb79b6eccb move scheduler in public namespace 2012-12-14 12:33:37 +01:00
Oliver Kowalke
35ac18fa73 scheduler is interface; default_scheduler added 2012-12-14 10:40:35 +01:00
Oliver Kowalke
81e62e8962 changed directory structure as required by modularized-boost 2012-12-09 15:22:59 +01:00