Oliver Kowalke
|
2c5fd56a6c
|
use atomics for intrusive_ptr of shared_state
|
2013-12-29 11:52:54 +01:00 |
|
Oliver Kowalke
|
bc87dc3415
|
use atomics for intrusive_ptr of shared_state
|
2013-12-29 11:32:25 +01:00 |
|
Oliver Kowalke
|
67ca128a8f
|
rename future_base to shared_state
|
2013-12-29 08:06:21 +01:00 |
|
Oliver Kowalke
|
40d469d346
|
let notifier for thread's initial context allocate by algoritm
|
2013-12-28 10:19:06 +01:00 |
|
Oliver Kowalke
|
a24d3d05e8
|
add missing noexcept specifier for asio::round_robin
|
2013-12-27 20:32:47 +01:00 |
|
Oliver Kowalke
|
2c9e034f0b
|
move this_thread::yield() into round_robin schedulers
|
2013-12-16 17:38:04 +01:00 |
|
Oliver Kowalke
|
d7c0d5d046
|
call this_thread::yield at some points
|
2013-12-15 20:02:06 +01:00 |
|
Oliver Kowalke
|
4cc7c54535
|
main context and this_fiber::thread_affinity()
|
2013-12-15 17:55:19 +01:00 |
|
Oliver Kowalke
|
9a9d0f03a5
|
man context calls scheduler::instance()->run() in sleep()
|
2013-12-15 17:50:15 +01:00 |
|
Oliver Kowalke
|
b8548fd147
|
main context call scheduler::instance()->run() in yield()
|
2013-12-15 17:44:22 +01:00 |
|
Oliver Kowalke
|
d03bc6a984
|
update scheduling algorithm as Nad suggested
|
2013-12-04 18:58:36 +01:00 |
|
Oliver Kowalke
|
511b740ec2
|
default-scheduler allocated
|
2013-12-02 19:45:48 +01:00 |
|
Oliver Kowalke
|
abec3a5da6
|
fix typo: bounded_queue::pop_wait_for()
|
2013-11-28 19:45:57 +01:00 |
|
Oliver Kowalke
|
64529df3b4
|
changed interface of (un)bounded_queue
|
2013-11-17 18:55:32 +01:00 |
|
Oliver Kowalke
|
2f522a9688
|
fix round-robin for asio
|
2013-11-17 09:49:41 +01:00 |
|
Oliver Kowalke
|
1c8cd1d880
|
protect mutex' with spunlock only
|
2013-11-05 16:13:29 +01:00 |
|
Oliver Kowalke
|
f3d33345a0
|
fix scheduler::instance()
|
2013-11-04 22:10:43 +01:00 |
|
Oliver Kowalke
|
64c372d059
|
add thread_affinity() to fiber's public interface
|
2013-11-02 16:56:24 +01:00 |
|
Oliver Kowalke
|
393797a94e
|
fix queues related to closed queue and poping values
|
2013-11-02 14:49:25 +01:00 |
|
Oliver Kowalke
|
6bb976b4d3
|
fix queues
|
2013-11-02 14:15:05 +01:00 |
|
Oliver Kowalke
|
99cb841259
|
some corrections for noexcept specifier
|
2013-11-02 07:05:03 +01:00 |
|
Oliver Kowalke
|
fbc1e67c25
|
make fibers thread affin
|
2013-11-02 06:53:21 +01:00 |
|
Oliver Kowalke
|
beab239538
|
use thread_specific_ptr in scheduler
|
2013-11-01 19:34:43 +01:00 |
|
Oliver Kowalke
|
436883ca33
|
add workstealing round_robin
|
2013-10-25 18:01:56 +02:00 |
|
Oliver Kowalke
|
a77b36c413
|
use ws_queue in round_robin
|
2013-10-24 18:42:38 +02:00 |
|
Oliver Kowalke
|
98f54ad0e4
|
rename fibers::asio::io_service -> fibers::asio::round_robin
|
2013-10-24 18:42:07 +02:00 |
|
Oliver Kowalke
|
efb329a9e9
|
add explicit to fiber-ctor
|
2013-10-23 23:02:34 +02:00 |
|
Oliver Kowalke
|
6f8d1f726d
|
fix passing fiber_base::ptr_t to fiber ctor for MSVC
|
2013-10-23 23:00:34 +02:00 |
|
Oliver Kowalke
|
3474425780
|
fix future<> assing-operators
|
2013-10-23 19:11:07 +02:00 |
|
Oliver Kowalke
|
c6718b1ee8
|
add fiber-migration between threads
|
2013-10-23 18:21:58 +02:00 |
|
Oliver Kowalke
|
3eafc0725f
|
thread-safe mutex'
|
2013-10-22 14:42:01 +02:00 |
|
Oliver Kowalke
|
bc4478c599
|
condition thread-safe
|
2013-10-18 20:29:03 +02:00 |
|
Oliver Kowalke
|
8948ddc12f
|
this_fiber::sleep() is interruption-point
|
2013-10-18 20:28:25 +02:00 |
|
Oliver Kowalke
|
ee13cc1700
|
make mutex thread-safe
|
2013-10-18 17:41:08 +02:00 |
|
Oliver Kowalke
|
ef0367bec4
|
protect list of wiating fibers in fiber_base
|
2013-10-17 21:01:12 +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
|
1507e34d02
|
cleanup
|
2013-10-17 19:20:36 +02:00 |
|
Oliver Kowalke
|
8d4987bf5c
|
reset() + future
|
2013-10-14 17:43:18 +02:00 |
|
Oliver Kowalke
|
88b72766c3
|
call scheduler::run() not in loop in asio-helpers
|
2013-10-07 19:41:06 +02:00 |
|
Oliver Kowalke
|
decba3f33f
|
std::terminate() called if exception not catched
|
2013-10-01 19:44:06 +02:00 |
|
Oliver Kowalke
|
60031f8ec1
|
Nat's patch applied (Mac OS X related stuff)
|
2013-09-26 19:25:24 +02:00 |
|
Oliver Kowalke
|
a71c8478fe
|
make fiber::detach() not inlined
|
2013-09-13 17:38:09 +02:00 |
|
Oliver Kowalke
|
dfafec5c8b
|
run scheduler after each asio::spawn and usage of yield_context
|
2013-09-11 09:26:51 +02:00 |
|
Oliver Kowalke
|
0eeaf2e9ec
|
some clean-up of the code
|
2013-09-09 09:33:11 +02:00 |
|
Oliver Kowalke
|
e996d2e28f
|
use coroutines inside fiber
|
2013-09-09 08:52:26 +02:00 |
|
Oliver Kowalke
|
00ec9d32a3
|
update
|
2013-08-28 21:57:14 +02:00 |
|
Oliver Kowalke
|
f1ff2b2c94
|
fix promsie issue related to MSVC + typedef
|
2013-08-19 17:40:53 +02:00 |
|
Oliver Kowalke
|
104278aa8a
|
some fixes for auto-linking on WINDOWS
|
2013-08-18 21:03:29 +02:00 |
|
Oliver Kowalke
|
9387202486
|
fix typedef of function-ptr in packaged_task
|
2013-08-18 19:47:33 +02:00 |
|