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

81 Commits

Author SHA1 Message Date
Oliver Kowalke
732e91b634 Revert "no data transferred via continuation::resume()"
This reverts commit 953bcb423e.
2017-06-10 16:33:01 +02:00
Oliver Kowalke
c8f6ddc497 use conditional expression likely/unlikely 2017-06-08 23:22:09 +02:00
Oliver Kowalke
116419ccb4 mutex: loop and test in lock() 2017-06-05 16:49:43 +02:00
Oliver Kowalke
953bcb423e no data transferred via continuation::resume()
- transfer from-context, ready-context, spinlock_lock via context
2017-05-29 18:13:08 +02:00
Oliver Kowalke
8c6f853201 Revert "use wait-queue based on array"
This reverts commit ecb87f2945.
2017-03-17 19:57:48 +01:00
Oliver Kowalke
ecb87f2945 use wait-queue based on array 2017-03-17 17:52:44 +01:00
Oliver Kowalke
728bd776ad rename set_ready() -> schedule() 2017-03-05 15:08:52 +01:00
Oliver Kowalke
fa95e9740f code re-formating 2017-02-26 20:22:58 +01:00
Oliver Kowalke
24fa47a1f0 remove noexcept from mutex/timed_mutex try_lock() 2015-12-29 11:57:25 +01:00
Oliver Kowalke
056a681459 fix fiber-exceptions 2015-12-26 19:52:21 +01:00
Oliver Kowalke
3319841788 use spinlock_lock+context instead of function<> 2015-12-03 17:57:00 +01:00
Oliver Kowalke
726d4d51b9 ++14 polishing 2015-12-01 21:07:11 +01:00
Oliver Kowalke
4b826c1738 protect mutex::unlock() caled by non-owning fiber 2015-10-18 20:04:11 +02:00
Oliver Kowalke
bafd65bcf3 remove yield-queue + pass functor to resume-op 2015-10-16 21:48:57 +02:00
Oliver Kowalke
a847baa932 link/unlink of context protected by spinlock 2015-09-28 19:58:22 +02:00
Oliver Kowalke
2e0d09b3c7 fix comparation of address and nullptr 2015-09-21 20:14:07 +02:00
Oliver Kowalke
22a1f1257d some source code formating 2015-09-20 15:38:43 +02:00
Oliver Kowalke
1797badafc fix memory ordering for release-op (spinlock/mutex/recursive_mutex) 2015-09-19 17:38:10 +02:00
Oliver Kowalke
44d4ce82e0 use atomic< context * > as owner type 2015-09-19 17:26:33 +02:00
Oliver Kowalke
3f5e076f3a class mutex added 2015-09-19 17:01:20 +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
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
c89410dfd8 uses intrusive::list<> isntread hand-written queues 2015-09-09 19:22:54 +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
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
6c35324727 use atomics per default
- atomics can be disable using BOOST_FIBERS_NO_ATOMICS compiler flag
2015-06-20 21:31:34 +02:00
Oliver Kowalke
20d08d98cd enable atomics with BOOST_FIBERS_USE_ATOMCIS 2015-06-19 21:39:34 +02:00
Oliver Kowalke
2002dba9d3 enable/disable atomic<> with BOOST_FIBERS_THREADSAFE 2015-06-19 18:57:23 +02:00
Oliver Kowalke
61dc492f31 some stuff/corrections 2015-06-19 18:55:02 +02:00
Oliver Kowalke
aa337b07f7 move 'fm_' - free functions into fiber_manager 2015-02-08 16:02:22 +01: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
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
05256654da reduce redundancy of try_lock()/lock() in mutex 2014-07-05 11:09:40 +02:00
Oliver Kowalke
91ccc91ee7 some fixes 2014-06-22 19:31:58 +02:00
Oliver Kowalke
026003bb65 use the free fm_<xyz> - functions 2014-06-17 11:51:14 +02:00
Oliver Kowalke
2d012334b1 allocate main_fiber inside synch. primitives 2014-03-22 18:22:32 +01:00
Oliver Kowalke
228aae6833 do not use reference-counting 2014-03-19 19:55:56 +01:00
Oliver Kowalke
5b6d77b6b5 renaming of fiber classes 2014-03-05 17:30:11 +01:00
Oliver Kowalke
1926a21838 some assertions added 2013-12-29 13:24:30 +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
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
1c8cd1d880 protect mutex' with spunlock only 2013-11-05 16:13:29 +01:00
Oliver Kowalke
3eafc0725f thread-safe mutex' 2013-10-22 14:42:01 +02:00
Oliver Kowalke
bdbe2ea1f7 mutex' call lk.unlock() instead splk_.unlock() 2013-10-18 20:29:18 +02:00