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

929 Commits

Author SHA1 Message Date
Oliver Kowalke
070606d2d1 disable asio examples
- interaction with external event-loops not implemented
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
c416b6fe1e disable test with multi-threading
- scheduler::remote_signal() not implemented yet
2015-09-11 20:11:56 +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
ebd147c08d fix join(), this_fiber::sleep_until() 2015-09-10 20:42:28 +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
2173200c14 example simple 2015-09-10 18:07:41 +02:00
Oliver Kowalke
ce1b22b809 add sanity checks before destructing context in scheduler 2015-09-10 05:49:55 +02:00
Oliver Kowalke
c1d3d478d8 use wait_queue with safe_link featurre, use erase_and_dispose() for
unlinking
2015-09-10 05:49:10 +02:00
Oliver Kowalke
08d4537a45 Merge pull request #66 from nat-goodspeed/develop
Fix hang in priority.cpp
2015-09-10 05:35:51 +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
Nat Goodspeed
2b6135364e Make awakened() unconditionally insert fiber.
There was a bug when the ready queue wasn't empty, but there was no
lower-priority fiber already in the queue. In that case the fiber wouldn't be
inserted. We want the loop just to advance the iterator, but to perform the
insert regardless of where the iterator ends up. (With this logic, empty() is
no longer a special case.)

Restore the ~Verbose() message.
2015-09-09 21:46:35 -04:00
Oliver Kowalke
513204a75e add termination output to example simple.cpp 2015-09-09 21:11:02 +02:00
Oliver Kowalke
fbf412aae1 delete termianted fibers 2015-09-09 21:04:56 +02:00
Nat Goodspeed
268922a9e6 Merge branch 'develop' of http://github.com/olk/boost-fiber into develop 2015-09-09 13:51:50 -04:00
Oliver Kowalke
4887028567 fix unit-test for bounded_channel 2015-09-09 19:48:55 +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
e4fc7e7736 restore simple example 2015-09-08 21:35:46 +02:00
Oliver Kowalke
291b9d7c17 small fixes 2015-09-08 21:33:20 +02:00
Oliver Kowalke
2cd1d39f12 fix clang compiler error regarding missing typename 2015-09-08 18:58:36 +02:00
Nat Goodspeed
40c94e7aaa Merge branch 'develop' of github.com:nat-goodspeed/boost-fiber into develop 2015-09-08 06:21:42 -04:00
Nat Goodspeed
6702d7cb9c Merge branch 'develop' of http://github.com/olk/boost-fiber into develop 2015-09-08 06:21:33 -04:00
Nat Goodspeed
9c88e5a660 Merge branch 'develop' of github.com:nat-goodspeed/boost-fiber into develop 2015-09-08 06:19:58 -04: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
5854743a0a force segfault in work-sharing example 2015-09-07 22:24:20 +02:00
Oliver Kowalke
3200e419d2 increase amount of fibers and threads 2015-09-07 20:58:22 +02:00
Nat Goodspeed
f28b6fc497 Update shared_ready_queue::main_fiber comments. 2015-09-07 14:55:30 -04:00
Oliver Kowalke
18eb56d0f8 Merge pull request #65 from nat-goodspeed/develop
Update work_sharing to never share a thread's main fiber.
2015-09-07 20:55:26 +02:00
Nat Goodspeed
6cf8f4627f Update work_sharing to never share a thread's main fiber.
Instead, when the main fiber is passed to awakened(), stash it in a separate
slot and make pick_next() return it only when the shared queue is empty.

Update ready_fibers() to include a non-empty main_fiber slot.
2015-09-07 14:50:55 -04:00
Oliver Kowalke
0099b384c1 rename of flag and check function is_man_context() 2015-09-07 17:44:29 +02:00
Oliver Kowalke
d66575e2e6 fiber_manager renamed to scheduler 2015-09-07 17:35:37 +02:00
Oliver Kowalke
6499bb07e7 fiber_context renamed to context 2015-09-07 17:23:59 +02:00
Oliver Kowalke
7f97616aa2 Merge branch 'ws' into develop 2015-09-07 17:07:59 +02:00
Oliver Kowalke
4dc5aaab59 add example of work-sharing 2015-09-07 11:53:13 +02:00
Oliver Kowalke
7233f617d7 remove class scheduler - fiber_context has static TLS
- detail:.scheduler was removed
- fiber_context has a static thread-local pointer to the active
  fiber_context
- fiber_context has member to pointer of fiber_manager
- functions of fiber_manager are accessed only via fiber_context
- if fiber f is resumed, the fiber_manager of the current active fiber
  f' is assigned to f
  -> that is necessary if f was stolen form another thread
2015-09-07 11:50:01 +02:00
Oliver Kowalke
bc044fbed2 stuff 2015-09-06 21:36:06 +02:00
Oliver Kowalke
26ea3aa41c fix performace footnote issue 2015-09-05 15:29:42 +02:00
Oliver Kowalke
c4cfef7148 fix documentation issue related to footnote in table 2015-09-05 15:24:30 +02:00
Oliver Kowalke
2dbdd73e6e fix performance tests for std::thread 2015-09-05 15:21:43 +02:00
Oliver Kowalke
68cc0915b9 use passed overhead duration in performance tests 2015-09-05 14:00:58 +02:00
Oliver Kowalke
f8c97ffa16 initialize duration with zero 2015-09-05 13:49:29 +02:00
Oliver Kowalke
2e26806bb3 update performance tests and correct values in performance docu 2015-09-05 13:41:03 +02:00
Oliver Kowalke
ddf2115347 do not measure fiber creation together with join/yield/detach 2015-09-05 12:19:31 +02:00
Oliver Kowalke
66e7b59424 fix usage of std::chrono 2015-09-05 11:57:36 +02:00