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

33 Commits

Author SHA1 Message Date
Oliver Kowalke
8a9c9916c7 support this_fiber::yield() 2015-09-18 17:48:57 +02:00
Oliver Kowalke
7a794647ae replace context::terminated_is_linked() by context::is_terminated()
- context::terminated_is_linked() might be missleading because this
  state is transient
- if the context is pushed to the terminated-queue,
  context::terminated_is_linked() returns true, if the context is
  removed from terminated-queue context::terminated_is_linked() returns
  false
- new flag flag_terminated intoduced
- flag_terminated will be set in context::set_terminated_(), which will
  be called for worker context' in the lambda
2015-09-16 22:17:01 +02:00
Oliver Kowalke
70f4d9eeff rename variable active-context scheduler 2015-09-16 22:10:23 +02:00
Oliver Kowalke
06e3037cc0 add comments ini scheduler 2015-09-16 21:17:42 +02:00
Oliver Kowalke
dd0e1d1893 add autoreset_event for waling up dispatcher context
- dispatcher waits on autoreset_event if ready-queue is empty
- autoreset_event is set if a ready context is pushed to the
  ready-queue
2015-09-16 21:07:26 +02:00
Oliver Kowalke
a8e90aedb8 add joining a fiber 2015-09-16 20:51:26 +02:00
Oliver Kowalke
ddc5af0a36 run dispatcher context at scheduler destruction 2015-09-16 19:20:47 +02:00
Oliver Kowalke
6d43540a29 cleanup 2015-09-15 19:15:00 +02:00
Oliver Kowalke
73b3843696 test for ready-/runnabl-queue if transfered from remote_ready_queue 2015-09-13 16:35:54 +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
f3b376224c comments fxed + break loop of sleeping fibers 2015-09-11 21:35:39 +02:00
Oliver Kowalke
f14be69223 remove scheduler::wait:interval_ + fixups of comments 2015-09-11 21:03:09 +02:00
Oliver Kowalke
693c53d034 fix sleep_queue: cmp-op + use set<>::insert() 2015-09-11 20:45:54 +02:00
Oliver Kowalke
51d08226a4 if not fibers in queues - suspend till signaled or timeout
- if no fibers are ready to run suspend the thread and wait till
  * signaled by scheduler::signal() for new fiber (ready to run)
  * time_point of a sleeping fiber has reached
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
4764c1184c signal() added 2015-09-10 19:52:08 +02:00
Oliver Kowalke
d3843efbe0 fix using intruisve::list<> 2015-09-10 18:08:10 +02:00
Oliver Kowalke
ce1b22b809 add sanity checks before destructing context in scheduler 2015-09-10 05:49:55 +02:00
Oliver Kowalke
fbf412aae1 delete termianted fibers 2015-09-09 21:04:56 +02:00
Oliver Kowalke
19c3df0862 ontext cleanup inf schedulerBitte geben Sie eine Commit-Beschreibung für Ihre Änderungen ein. Zeilen, 2015-09-09 19:36:30 +02:00
Oliver Kowalke
50791e3dd7 put main-context to yield-queue in ~scheduler() 2015-09-09 19:36:02 +02:00
Oliver Kowalke
9a59ee0a17 test explictly against nullptr 2015-09-09 19:35:33 +02:00
Oliver Kowalke
c89410dfd8 uses intrusive::list<> isntread hand-written queues 2015-09-09 19:22:54 +02:00
Oliver Kowalke
291b9d7c17 small fixes 2015-09-08 21:33:20 +02:00
Oliver Kowalke
6459b76075 do not use context::active() inside scheduler 2015-09-07 22:30:26 +02:00
Oliver Kowalke
2689e34be6 store pointer to main-context in scheduler 2015-09-07 22:29:57 +02:00
Oliver Kowalke
d66575e2e6 fiber_manager renamed to scheduler 2015-09-07 17:35:37 +02:00
Oliver Kowalke
cfdcf1d16a interface algorithm, round_robin 2012-12-19 19:37:05 +01:00
Oliver Kowalke
1e248b0216 require to set scheduler for each os-thread 2012-12-17 19:54:34 +01:00
Oliver Kowalke
b0a59e4fb8 default_scheduler moved to public namespace 2012-12-16 20:27:53 +01:00
Oliver Kowalke
86f4df89f3 rename scheduler::swap() to scheduler::replace() 2012-12-16 16:38:49 +01:00
Oliver Kowalke
f306dcc391 scheduler::swap() 2012-12-15 14:36:39 +01:00
Oliver Kowalke
fb79b6eccb move scheduler in public namespace 2012-12-14 12:33:37 +01:00