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

55 Commits

Author SHA1 Message Date
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
Oliver Kowalke
ee13cc1700 make mutex thread-safe 2013-10-18 17:41:08 +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
f06b6cf0d4 fix auto-link in config.hpp 2013-08-13 10:27:02 +02:00
Oliver Kowalke
77b8f1270c add recursive_mutex 2013-06-25 17:32:40 +02:00
Oliver Kowalke
3ba86d0e27 let scheduler::instance() return a pointer 2013-06-23 12:24:42 +02:00
Oliver Kowalke
31c764b7bc some code clean-up 2013-06-14 16:53:46 +02:00
Oliver Kowalke
5396888ec3 atomic-ops removed 2013-03-19 18:19:27 +01:00
Oliver Kowalke
dcfb7be88d release lock in unlock() earlier 2013-03-13 19:29:55 +01:00
Oliver Kowalke
e27dd76d84 release lock in notify-functions for condition/mutex at last 2013-02-24 07:27:35 +01:00
Oliver Kowalke
8f0ba61854 mutext uses int for state 2013-02-23 14:41:08 +01:00
Oliver Kowalke
68615292d2 remove wake_up/woke_up -> use of is_ready/set_ready instead 2013-02-17 17:40:08 +01:00
Oliver Kowalke
85bb5a8a31 mutex uses notify interface for notifications 2013-02-03 15:55:29 +01:00
Oliver Kowalke
5dcab29a55 fix mutex::unlock() 2013-01-31 18:49:19 +01:00
Oliver Kowalke
bc378ad0b6 fix mutext::lock() 2013-01-31 18:49:01 +01:00
Oliver Kowalke
bdb613a7bf some test code 2013-01-28 22:00:46 +01:00
Oliver Kowalke
ee565aa1a7 unlock in mutex more efficient 2013-01-28 18:07:11 +01:00
Oliver Kowalke
95f989f9ac do yield if fiber exec run() otherwise in mutex 2013-01-28 18:05:33 +01:00
Oliver Kowalke
0abfc511bb tests 2013-01-27 10:14:15 +01:00
Oliver Kowalke
10786c3ed6 stuff for fixin 2013-01-24 20:07:40 +01:00
Oliver Kowalke
b8346b0ef0 use wake_up() 2013-01-23 21:47:29 +01:00
Oliver Kowalke
319d781be0 updates 2013-01-22 17:38:58 +01:00
Oliver Kowalke
390a1a865b some modification for worksteeling + synchr. 2013-01-16 20:23:56 +01:00
Oliver Kowalke
f18136562f spin_mutext -> soinlock; fixes 2013-01-09 17:09:16 +01:00
Oliver Kowalke
e04637edaf some mods 2013-01-07 17:25:03 +01:00
Oliver Kowalke
d37c44807e fix atomic<> related stuff 2013-01-04 20:56:25 +01:00