Oliver Kowalke
8cfec6deed
some fixes for asio exmaples - not compiling
2015-02-10 18:40:40 +01:00
Oliver Kowalke
502581e1e1
remove example fiber-migration
2015-02-10 17:38:44 +01:00
Oliver Kowalke
aa337b07f7
move 'fm_' - free functions into fiber_manager
2015-02-08 16:02:22 +01:00
Oliver Kowalke
5a0f9394e8
Merge branch 'ctx-onstack-lambda' into develop
...
Conflicts:
examples/cpp03/migration/workstealing_round_robin.cpp
include/boost/fiber/bounded_queue.hpp
include/boost/fiber/detail/worker_fiber.hpp
include/boost/fiber/unbounded_queue.hpp
src/detail/worker_fiber.cpp
2015-02-06 18:32:35 +01:00
Oliver Kowalke
13bf486fea
update stack-allocators
2015-02-06 18:29:26 +01:00
Oliver Kowalke
d1d7ad7aa0
use recursive-mutex in fiber-migration example
2015-01-19 18:13:51 +01:00
Oliver Kowalke
f37d7c5511
store terminated fibers in tqueue
2015-01-15 21:22:10 +01:00
Oliver Kowalke
f22ae8ba53
use lambda as fiber-fn
2015-01-13 15:15:59 +01:00
Oliver Kowalke
27c0a78d36
allocate fiber_context on stack
2015-01-13 14:57:32 +01:00
Oliver Kowalke
97d13ccc70
fix migartion example
2015-01-10 21:22:09 +01:00
Oliver Kowalke
bfde9ecae6
improve spinlock code
2015-01-10 21:21:36 +01:00
Oliver Kowalke
9b7b0be903
Revert "improve spinlock algorithm"
...
This reverts commit 08f3b52193 .
2015-01-10 21:21:05 +01:00
Oliver Kowalke
08f3b52193
improve spinlock algorithm
2015-01-10 21:20:31 +01:00
Oliver Kowalke
0770f79906
fix performance tests
2015-01-09 17:52:24 +01:00
Oliver Kowalke
37747ece0d
use fibers::mutext instead std::mutex in workstealing example
2015-01-05 19:58:07 +01:00
Oliver Kowalke
fbe98be71e
std::copy_exception is deprecated (use std::make_exception_ptr)
2015-01-05 19:57:51 +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
0fda6d1f88
remove some warnings
2015-01-04 13:13:15 +01:00
Oliver Kowalke
3b332c17ee
variadric arguments
2015-01-01 14:40:39 +01:00
Oliver Kowalke
584dcdceee
allocate/deallocate fiber_base via allocator
2014-12-29 17:38:01 +01:00
Oliver Kowalke
6a652b8cd7
use std::forward() for rvalues
2014-12-28 22:03:09 +01:00
Oliver Kowalke
f6c7ab7826
rename (un)bounded_queue -> (un)bounded_channel + use allocator
2014-12-28 21:30:14 +01:00
Oliver Kowalke
44326ebdd3
remove priority
2014-12-28 08:35:44 +01:00
Oliver Kowalke
4d1f12e333
extend async() to accept a stack-allocator
2014-12-28 08:07:31 +01:00
Oliver Kowalke
7b3f18becd
improve test related to futures
2014-12-28 08:06:43 +01:00
Oliver Kowalke
e9e8ec1b85
fix examples
2014-12-27 21:17:13 +01:00
Oliver Kowalke
0bd0062789
correct forward declaration of scheduler
2014-12-27 21:16:58 +01:00
Oliver Kowalke
e1698b64a3
static-cast to int for errc
2014-12-27 21:16:36 +01:00
Oliver Kowalke
7f7f01098b
make main-fiber thread affine
2014-12-27 21:16:03 +01:00
Oliver Kowalke
2f19be6d67
use C++11
2014-12-27 19:07:42 +01:00
Oliver Kowalke
ddbdd91ced
use execution_context
2014-11-24 19:58:59 +01:00
Oliver Kowalke
9bd1c0cd0f
Nat Goodspeed: optimize fifo + waiting_queue
2014-11-24 19:18:18 +01:00
Oliver Kowalke
81ec70bcef
optimize queues : from Nat Goodspeed
2014-11-24 18:11:37 +01:00
Oliver Kowalke
e29cc6dc81
use correct eader for thread_specific_ptr<>
2014-11-24 18:11:22 +01:00
Oliver Kowalke
6fc2b57f23
use thread_specific_ptr
2014-11-24 18:11:08 +01:00
Oliver Kowalke
691aafd839
Nat Goodspeed: Reimplement waiting_queue; Simplify fifo
2014-11-23 19:23:08 +01:00
Oliver Kowalke
ba3c0bb806
optimize queues : from Nat Goodspeed
2014-11-22 11:23:18 +01:00
Oliver Kowalke
ea709758cb
use correct eader for thread_specific_ptr<>
2014-11-22 11:22:41 +01:00
Oliver Kowalke
4cc6e72fae
use thread_specific_ptr
2014-11-20 18:36:09 +01:00
Oliver Kowalke
4071e72299
remove debug output
2014-11-20 18:34:45 +01:00
Oliver Kowalke
7b35699b6e
Revert "Nat Goodspeed:"
...
This reverts commit 1e751d7dbf .
2014-11-20 18:17:08 +01:00
Oliver Kowalke
f18131a409
Merge branch 'coro' into develop
2014-11-12 20:05:03 +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
6a1257442b
re-factoring of thread_local_ptr<>
...
Conflicts:
include/boost/fiber/detail/scheduler.hpp
src/detail/scheduler.cpp
src/fiber_manager.cpp
2014-10-01 23:19:36 +02:00
Oliver Kowalke
2e4fa3e53f
re-factoring of thread_local_ptr<>
2014-10-01 21:40:12 +02:00
Oliver Kowalke
1c3b447716
some fixes
2014-09-26 17:57:53 +02:00
Oliver Kowalke
70440591cf
call cleanup-function in thread_local_ptr
...
(cherry picked from commit fca6e0301a )
2014-09-25 19:06:01 +02:00
Oliver Kowalke
b0eb8bc592
call cleanup-function in thread_local_ptr
...
(cherry picked from commit fca6e0301a )
2014-09-25 18:59:10 +02:00
Oliver Kowalke
7483a729aa
some fixes
2014-09-25 18:52:04 +02:00
Oliver Kowalke
fca6e0301a
call cleanup-function in thread_local_ptr
2014-09-25 18:51:30 +02:00