Oliver Kowalke
7b35699b6e
Revert "Nat Goodspeed:"
...
This reverts commit 1e751d7dbf .
2014-11-20 18:17:08 +01:00
Oliver Kowalke
1e751d7dbf
Nat Goodspeed:
...
- Change some doc references from 'algorithm' to 'sched_algorithm'.
- Initial cut at supporting arbitrary user-coded scheduler properties.
- Set fiber_properties::sched_algo_ every time through awakened().
- Define sched_algorithm methods on fiber_base*, not worker_fiber*.
- Simplify detail::fifo by making tail_ point to last link pointer.
- Reimplement waiting_queue::push() using pointer-to-pointer trick.
- Reimplement waiting_queue::move_to() using fiber_base** scan.
- Make bounded_queue::tail_ a ptr* to simplify appending new nodes.
- Make unbounded_queue::tail_ a ptr* to simplify linking new nodes.
- Remove thread_affinity flag and access methods.
- Re-add thread_affinity specific to workstealing_round_robin.
- Remove 'priority' for every fiber, and its support methods.
2014-11-12 20:03:12 +01:00
Oliver Kowalke
2d4a919faa
fix errors because of -pedantic
2014-08-23 14:20:01 +02:00
Oliver Kowalke
9f7f74f662
use symmetric_coroutine<>::yield_type::operator()()
2014-03-15 19:16:13 +01:00
Oliver Kowalke
511b740ec2
default-scheduler allocated
2013-12-02 19:45:48 +01:00
Oliver Kowalke
decba3f33f
std::terminate() called if exception not catched
2013-10-01 19:44:06 +02:00
Oliver Kowalke
00ec9d32a3
update
2013-08-28 21:57:14 +02:00
Oliver Kowalke
3ba86d0e27
let scheduler::instance() return a pointer
2013-06-23 12:24:42 +02:00
Oliver Kowalke
6b5d58d2bb
some enhancments
2013-06-09 20:31:38 +02:00
Oliver Kowalke
5c7933d9f9
remove yield_break()
2013-02-03 15:51:10 +01:00
Oliver Kowalke
3d28e8ad54
update unit-tests
2013-01-31 17:35:43 +01:00
Oliver Kowalke
a64a95f888
tests cleaned up
2013-01-30 17:38:39 +01:00
Oliver Kowalke
80c2aa3f40
fixes for spawn_()
2013-01-17 19:18:54 +01:00
Oliver Kowalke
390a1a865b
some modification for worksteeling + synchr.
2013-01-16 20:23:56 +01:00
Oliver Kowalke
a8b32fda25
some fixes related to round_robin and multithreading
2013-01-14 19:53:59 +01:00
Oliver Kowalke
b97e265a49
rethrow fiber_interrupted + tests fixed
2013-01-13 16:01:47 +01:00
Oliver Kowalke
1382e4eab6
some fixed for concurrent access support
2013-01-12 20:50:33 +01:00
Oliver Kowalke
df40f8c9f4
add interuption_points() in waiting functions
2013-01-11 18:59:21 +01:00
Oliver Kowalke
52a9432849
nteruption test added
2013-01-10 19:57:59 +01:00
Oliver Kowalke
cff07a3645
interruption
2013-01-10 19:51:34 +01:00
Oliver Kowalke
55e03df93b
remove this_fiber::run() from tests
2013-01-06 15:08:26 +01:00
Oliver Kowalke
3353829c0f
remover sleep()
2013-01-06 14:19:11 +01:00
Oliver Kowalke
20803f4c1d
release fibers in dtor of round_robin; add asserts in jump-fn
2013-01-05 12:45:42 +01:00
Oliver Kowalke
d37c44807e
fix atomic<> related stuff
2013-01-04 20:56:25 +01:00
Oliver Kowalke
74b0d65b56
use sorted vector in round_robin
2013-01-03 20:05:15 +01:00
Oliver Kowalke
40dcccfef1
remove assertions, adapt tests
2013-01-03 06:35:50 +01:00
Oliver Kowalke
f8e68e0987
let fiber::join() throw exceptions
2012-12-29 10:53:11 +01:00
Oliver Kowalke
8594910926
fix namespace alias' in tests
2012-12-26 21:03:12 +01:00
Oliver Kowalke
14d40f2d86
priority() functons added to fiber
2012-12-24 07:46:34 +01: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
645281a2ba
add fiber::detach()
2012-12-13 17:59:13 +01:00
Oliver Kowalke
81e62e8962
changed directory structure as required by modularized-boost
2012-12-09 15:22:59 +01:00