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