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

97 Commits

Author SHA1 Message Date
Oliver Kowalke
726d4d51b9 ++14 polishing 2015-12-01 21:07:11 +01:00
Oliver Kowalke
5357f7038e scheduling-algorithm handles empty ready-queue
- if dispatcher-context detects empty ready-queue
  the scheduler has to be suspended till signaled or
  timeout reached
2015-10-03 09:35:47 +02:00
Oliver Kowalke
4c791a3790 support for fiber properties + custom scheduler 2015-09-29 17:54:29 +02:00
Oliver Kowalke
6d43540a29 cleanup 2015-09-15 19:15:00 +02:00
Oliver Kowalke
abd1ff524c fixes for signaling interruption and wait 2015-09-11 18:42:16 +02:00
Oliver Kowalke
d3843efbe0 fix using intruisve::list<> 2015-09-10 18:08:10 +02:00
Oliver Kowalke
c89410dfd8 uses intrusive::list<> isntread hand-written queues 2015-09-09 19:22:54 +02:00
Oliver Kowalke
6499bb07e7 fiber_context renamed to context 2015-09-07 17:23:59 +02:00
Oliver Kowalke
d61b395207 Update round_robin.cpp 2015-07-20 19:42:11 +02:00
Oliver Kowalke
e7b1ee131c add function ready_fibers() 2015-07-03 18:03:14 +02:00
Oliver Kowalke
61dc492f31 some stuff/corrections 2015-06-19 18:55:02 +02:00
Oliver Kowalke
27c0a78d36 allocate fiber_context on stack 2015-01-13 14:57:32 +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
584dcdceee allocate/deallocate fiber_base via allocator 2014-12-29 17:38:01 +01:00
Oliver Kowalke
44326ebdd3 remove priority 2014-12-28 08:35:44 +01:00
Oliver Kowalke
2f19be6d67 use C++11 2014-12-27 19:07:42 +01:00
Oliver Kowalke
7fb469cd10 some fixes 2014-09-24 19:18:44 +02:00
Oliver Kowalke
a59d71a711 add precondition to awakened() 2014-06-25 18:22:15 +02:00
Oliver Kowalke
9057a3c365 split round_robin into sched_algorithm + fiber_manager 2014-03-20 20:04:59 +01:00
Oliver Kowalke
228aae6833 do not use reference-counting 2014-03-19 19:55:56 +01:00
Oliver Kowalke
6526dc5835 Merge branch 'feature/yield' into develop
Conflicts:
	include/boost/fiber/detail/fifo.hpp
	include/boost/fiber/detail/worker_fiber.hpp
	include/boost/fiber/round_robin.hpp
	performance/preallocated_stack_allocator.hpp
	src/detail/worker_fiber.cpp
	src/round_robin.cpp
2014-03-17 19:12:13 +01:00
Oliver Kowalke
3b882ade23 use fifo in round_robin 2014-03-16 22:07:01 +01:00
Oliver Kowalke
8cbca1363e use fifo as waiting-queue 2014-03-16 16:54:18 +01:00
Oliver Kowalke
a3e8944fd0 equeue fiber first 2014-03-16 13:44:36 +01:00
Oliver Kowalke
6edddcbabc use fifo as waiting-queue 2014-03-16 13:33:07 +01:00
Oliver Kowalke
9f7f74f662 use symmetric_coroutine<>::yield_type::operator()() 2014-03-15 19:16:13 +01:00
Oliver Kowalke
1a4703c4cb Revert " hold main_fiber::ptr_t in round_robin"
This reverts commit dc0216504e.
2014-03-08 20:29:32 +01:00
Oliver Kowalke
49d223fe1a resume fiber on creation 2014-03-08 19:38:12 +01:00
Oliver Kowalke
5d6c392463 use priority_queue 2014-03-08 18:55:37 +01:00
Oliver Kowalke
01a59c93de remove unecessary local data 2014-03-08 18:55:17 +01:00
Oliver Kowalke
dc0216504e hold main_fiber::ptr_t in round_robin 2014-03-08 18:54:27 +01:00
Oliver Kowalke
5b6d77b6b5 renaming of fiber classes 2014-03-05 17:30:11 +01:00
Oliver Kowalke
bafa33f287 wait in round-robin destructor until all fibers are finished 2014-03-04 18:04:11 +01:00
Oliver Kowalke
2c9e034f0b move this_thread::yield() into round_robin schedulers 2013-12-16 17:38:04 +01:00
Oliver Kowalke
511b740ec2 default-scheduler allocated 2013-12-02 19:45:48 +01:00
Oliver Kowalke
1c8cd1d880 protect mutex' with spunlock only 2013-11-05 16:13:29 +01:00
Oliver Kowalke
99cb841259 some corrections for noexcept specifier 2013-11-02 07:05:03 +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
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
ec8a11e60c atomic fiber::state_ 2013-10-17 19:21:26 +02:00
Oliver Kowalke
decba3f33f std::terminate() called if exception not catched 2013-10-01 19:44:06 +02:00
Oliver Kowalke
4121cac318 add support for timed-operations (wait_for/wait_until) 2013-08-16 21:24:32 +02:00
Oliver Kowalke
94482d25b6 add time-point to schedulable fiber 2013-08-13 18:23:53 +02:00
Oliver Kowalke
f06b6cf0d4 fix auto-link in config.hpp 2013-08-13 10:27:02 +02:00
Oliver Kowalke
3ba86d0e27 let scheduler::instance() return a pointer 2013-06-23 12:24:42 +02:00
Oliver Kowalke
f3193cb2e3 code clean-up 2013-06-17 17:43:21 +02:00
Oliver Kowalke
de3bc64e4f boost.asio related stuff (fiber-aware io_servic etc.) 2013-06-14 20:37:47 +02:00
Oliver Kowalke
31c764b7bc some code clean-up 2013-06-14 16:53:46 +02:00