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

344 Commits

Author SHA1 Message Date
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
52a9da9180 remove invalid noexcept specifier from fiber::detach() 2015-06-13 08:40:13 +02:00
Oliver Kowalke
e2404eefd7 introduce new queue for terminated fibers 2015-06-13 08:14:14 +02:00
Oliver Kowalke
baf9a55868 enable algiment of control structures on stack 2015-06-10 20:52:14 +02:00
Oliver Kowalke
e22c7fb1cb some formating 2015-05-22 09:50:39 +02:00
Oliver Kowalke
2b7d48da12 rename queue_op_status -> channel_op_status 2015-05-22 09:32:36 +02:00
Oliver Kowalke
3c7084e359 fix call of execution_context::operator() * exampe priority 2015-05-14 12:11:37 +02:00
Nat Goodspeed
068aa87e8e fiber_properties must be polymorphic. Add virtual destructor.
This was an inadvertent oversight. The existing destructor even had a comment
explaining why it must be virtual!
2015-05-13 08:40:45 -04:00
Nat Goodspeed
00098f171a For compatibility with Boost 1.58, call execution_context::resume(). 2015-05-13 08:39:25 -04:00
Nat Goodspeed
f5d136d974 Restore (merge-clobbered?) detach, join, interrupt method decls. 2015-05-13 08:38:28 -04:00
Nat Goodspeed
89b3dafd5c Eliminate spurious whitespace differences from upstream develop. 2015-05-11 09:48:23 -04:00
Nat Goodspeed
77a443b03b Merge branch 'develop' of github.com:olk/boost-fiber into sched-props-dev 2015-05-11 05:51:14 -04:00
Nat Goodspeed
a4e77e502f Re-add bool fiber_manager::preserve_fpu() to header file. 2015-05-11 05:46:26 -04:00
Nat Goodspeed
765014daee working our way through build errors 2015-05-11 05:38:45 -04:00
Nat Goodspeed
4eaed2a943 Start resolving build errors with newly-merged sched-props-dev branch.
Get fiber_manager out of the business of casting returned properties: that
introduces a circular dependency. Defer casting to fiber_properties subclass
to consumers in fiber.hpp and operations.hpp.
2015-05-11 04:25:05 -04:00
Nat Goodspeed
9c4cdf3438 Desk-checking pass through fiber_properties source code. 2015-05-10 23:35:15 -04:00
Nat Goodspeed
2687814477 Merge branch 'develop' of github.com:olk/boost-fiber into sched-props-dev
Resolved conflicts:
	doc/condition_variables.qbk
	examples/cpp03/migration/workstealing_round_robin.cpp
	examples/cpp03/migration/workstealing_round_robin.hpp
	include/boost/fiber/algorithm.hpp
	include/boost/fiber/bounded_queue.hpp
	include/boost/fiber/detail/fiber_base.hpp
	include/boost/fiber/detail/fifo.hpp
	include/boost/fiber/detail/waiting_queue.hpp
	include/boost/fiber/detail/worker_fiber.hpp
	include/boost/fiber/fiber.hpp
	include/boost/fiber/fiber_manager.hpp
	include/boost/fiber/fixedsize_stack.hpp
	include/boost/fiber/operations.hpp
	include/boost/fiber/round_robin.hpp
	include/boost/fiber/unbounded_queue.hpp
	src/detail/worker_fiber.cpp
	src/fiber.cpp
	src/fiber_manager.cpp
	src/round_robin.cpp
2015-05-10 22:03:35 -04:00
Benjamin Worpitz
70c16383b7 Remove definition of BOOST_FIBERS_USE_VARIADIC_FIBER
Since the usage of variadic templates is now enabled by default and not emulated, the definition of the `BOOST_FIBERS_USE_VARIADIC_FIBER` macro can be removed.
2015-04-30 09:02:30 +02:00
Oliver Kowalke
6f5757ff8a adapt new API of execution_context 2015-03-26 10:04:06 +01:00
Oliver Kowalke
eeaf6d3136 Update segmented_stack.hpp 2015-02-19 08:20:43 +01:00
Oliver Kowalke
1bd3e29ff8 rename execution_context::jump_to() -> execution_context::resume() 2015-02-18 18:53:51 +01:00
Oliver Kowalke
09123e20ad remove unecessary fiber ctor 2015-02-14 11:10:46 +01:00
Oliver Kowalke
91c237666e use C++14 features
- lambda capture expressions supports move-only types
- parameters are packed into std::tuple<> and with context-function
  moved to the context-lambda (->lambda capture expression)
- in context-lambda context-function with packed parameters called
  (-> deferred call)
2015-02-11 20:13:00 +01:00
Oliver Kowalke
aa337b07f7 move 'fm_' - free functions into fiber_manager 2015-02-08 16:02:22 +01:00
Oliver Kowalke
5a0f9394e8 Merge branch 'ctx-onstack-lambda' into develop
Conflicts:
	examples/cpp03/migration/workstealing_round_robin.cpp
	include/boost/fiber/bounded_queue.hpp
	include/boost/fiber/detail/worker_fiber.hpp
	include/boost/fiber/unbounded_queue.hpp
	src/detail/worker_fiber.cpp
2015-02-06 18:32:35 +01:00
Oliver Kowalke
13bf486fea update stack-allocators 2015-02-06 18:29:26 +01:00
Oliver Kowalke
f37d7c5511 store terminated fibers in tqueue 2015-01-15 21:22:10 +01:00
Oliver Kowalke
f22ae8ba53 use lambda as fiber-fn 2015-01-13 15:15:59 +01:00
Oliver Kowalke
27c0a78d36 allocate fiber_context on stack 2015-01-13 14:57:32 +01:00
Oliver Kowalke
9b7b0be903 Revert "improve spinlock algorithm"
This reverts commit 08f3b52193.
2015-01-10 21:21:05 +01:00
Oliver Kowalke
08f3b52193 improve spinlock algorithm 2015-01-10 21:20:31 +01:00
Oliver Kowalke
fbe98be71e std::copy_exception is deprecated (use std::make_exception_ptr) 2015-01-05 19:57:51 +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
3b332c17ee variadric arguments 2015-01-01 14:40:39 +01:00
Oliver Kowalke
584dcdceee allocate/deallocate fiber_base via allocator 2014-12-29 17:38:01 +01:00
Oliver Kowalke
6a652b8cd7 use std::forward() for rvalues 2014-12-28 22:03:09 +01:00
Oliver Kowalke
f6c7ab7826 rename (un)bounded_queue -> (un)bounded_channel + use allocator 2014-12-28 21:30:14 +01:00
Oliver Kowalke
44326ebdd3 remove priority 2014-12-28 08:35:44 +01:00
Oliver Kowalke
4d1f12e333 extend async() to accept a stack-allocator 2014-12-28 08:07:31 +01:00
Oliver Kowalke
0bd0062789 correct forward declaration of scheduler 2014-12-27 21:16:58 +01:00
Oliver Kowalke
e1698b64a3 static-cast to int for errc 2014-12-27 21:16:36 +01:00
Oliver Kowalke
7f7f01098b make main-fiber thread affine 2014-12-27 21:16:03 +01:00
Oliver Kowalke
2f19be6d67 use C++11 2014-12-27 19:07:42 +01:00
Oliver Kowalke
ddbdd91ced use execution_context 2014-11-24 19:58:59 +01:00
Oliver Kowalke
9bd1c0cd0f Nat Goodspeed: optimize fifo + waiting_queue 2014-11-24 19:18:18 +01:00
Oliver Kowalke
81ec70bcef optimize queues : from Nat Goodspeed 2014-11-24 18:11:37 +01:00
Oliver Kowalke
e29cc6dc81 use correct eader for thread_specific_ptr<> 2014-11-24 18:11:22 +01:00
Oliver Kowalke
6fc2b57f23 use thread_specific_ptr 2014-11-24 18:11:08 +01:00
Oliver Kowalke
691aafd839 Nat Goodspeed: Reimplement waiting_queue; Simplify fifo 2014-11-23 19:23:08 +01:00