140 Commits

Author SHA1 Message Date
Oliver Kowalke
4569842e94 -fsplit-stack flag with GCC 2020-06-26 17:53:39 +02:00
Oliver Kowalke
6523d31800 remove local forced_unwind 2020-04-24 11:29:29 +02:00
Oliver Kowalke
c63e9158c5 docu: support for sanitizers 2019-10-02 08:22:54 +02:00
Oliver Kowalke
1ce4a15fb8 include config of boost.context 2019-03-14 15:38:42 +01:00
Oliver Kowalke
e794cccf0e Don't crash on pthread_cancel
- in context of #28

Justinas V. Daugmaudis: This patch prevents abi::__forced_unwind from being eaten
2019-03-14 15:03:28 +01:00
Oliver Kowalke
0233d35081
Merge pull request #24 from CaseyCarter/patch-1
[pull_coroutine] iterators model C++20 InputIterator
2018-12-05 19:13:57 +01:00
Casey Carter
f885fb2c91
[pull_coroutine] iterators model C++20 InputIterator
The C++20 `InputIterator` concept requires post-increment indirectly via the [`WeaklyIncrementable`](http://eel.is/c++draft/iterator.concept.winc) concept, but doesn't constrain the return type unlike the "old [input iterator requirements](http://eel.is/c++draft/input.iterators). Consequently the iterators of coroutine generators - such as `pull_coroutine` - can model `InputIterator`.

Drive-by: Remove explicit implementations of copy construction/assignment that do what the default implementations would; don't pessimize by avoiding self-swap of pointers.
2018-12-05 09:26:52 -08:00
Oliver Kowalke
b029799da7
Merge pull request #21 from hamparawa/documentation_fix
Fixing example code in undefined behaviour
2018-04-20 12:43:55 +02:00
Saliya Hamparawa
9dde80b712
Fixing example code in undefined behaviour 2018-04-20 14:53:37 +05:30
Oliver Kowalke
27a3b101d4 unite-test: rename rule to 'native-impl' 2018-02-19 16:08:19 +01:00
Oliver Kowalke
0cc5d85b89 fix bug introduced after switch to boost::context::fiber 2018-02-19 16:03:01 +01:00
Oliver Kowalke
2ed71ab0f1 unit-test:do not build for ucontext on Android 2018-02-19 15:15:57 +01:00
Oliver Kowalke
8f58d89237 docu 2018-02-15 17:49:37 +01:00
Oliver Kowalke
b866e33187 update docu 2018-02-15 17:46:14 +01:00
Oliver Kowalke
fc3cb67527 fiber::resume() and fiber::resume_with() are rvalue-ref qualified only 2018-02-09 17:29:02 +01:00
Oliver Kowalke
5243bfef42 disable unit-tests using ucontext for MacOS X 2018-02-06 19:44:47 +01:00
Oliver Kowalke
49716a54d8 support for context::fiber 2018-02-06 19:43:50 +01:00
Oliver Kowalke
a28b850bcd
Update README.md 2018-02-05 08:10:22 +01:00
Oliver Kowalke
f590244a07
Merge pull request #16 from DanielaE/fix/no-iterator-inheritance
Inheriting std::iterator is deprecated in C++17
2018-01-01 19:12:59 +01:00
Daniela Engert
0114d19a46
Inheriting std::iterator is deprecated in C++17
Therefore replace inheritance by lifting std::iterator's members into the derived class.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-01-01 16:42:45 +01:00
Oliver Kowalke
3e074ab9dc add control file for Travis CI 2017-12-20 15:34:05 +01:00
Oliver Kowalke
50f8ae30d1 Fixing a resource leak in move copy ctor 2017-12-20 07:38:55 +01:00
Oliver Kowalke
826f732188
Merge pull request #15 from hamparawa/develop
Fixing a resource leak in move assignment
2017-12-20 07:24:19 +01:00
Oliver Kowalke
98e7406a40
Update pull_coroutine.hpp 2017-12-20 06:23:59 +00:00
Oliver Kowalke
b0b22e16e9
Update push_coroutine.hpp 2017-12-20 06:23:22 +00:00
Oliver Kowalke
6bf49d619a
Update push_coroutine.hpp 2017-12-20 06:22:27 +00:00
Oliver Kowalke
a3eb60c432
Update pull_coroutine.hpp 2017-12-20 06:21:48 +00:00
Saliya Hamparawa
7a702c4e86 Fixing a resource leak in move assignment
Signed-off-by: Saliya Hamparawa <hamparawa@gmail.com>
2017-12-20 11:09:38 +05:30
Oliver Kowalke
40cbfe5c01 perfect forwarding of stack allocator 2017-09-24 09:04:20 +02:00
Oliver Kowalke
6317f864cb rethrow exceptions thrown by pull-coroutine ctor 2017-08-08 21:34:58 +02:00
Oliver Kowalke
0ecc359300 do not pass data via continuation::resume() 2017-08-01 09:44:08 +02:00
Oliver Kowalke
9af8f7a901 Merge pull request #10 from mog422/develop
Fix build failure on windows
2017-07-06 10:50:06 +02:00
mog422
33371a87d9 Fix build failure on windows
coroutine2 is a header-only library. But, It includes auto_link.hpp.
That worked surprisingly smoothly until before boost 1.64.
But the commit 91c327bb019f3eca3d4fd2f565557f6926d4d93b causes a build failure.
2017-07-06 17:36:19 +09:00
Oliver Kowalke
5b06384117 remove build sub-direcotry - header-only lib 2017-07-05 18:32:38 +02:00
Oliver Kowalke
5737fb22ae unwind the stack if coroutine gets terminated
- fixes #13064
- unwind the stack via exception (continuation is destroyed)
2017-06-13 17:40:26 +02:00
Oliver Kowalke
b6faea151a correct CPU used for performance tests 2017-06-04 12:54:28 +02:00
Oliver Kowalke
3f6916464f add unit-test for native APIs 2017-05-30 17:44:19 +02:00
Oliver Kowalke
697f1add1a remove dependency (header) to boost.fiber 2017-05-30 08:32:04 +02:00
Oliver Kowalke
f12e03b80a unit-tests: build parameters speed/release 2017-05-27 17:14:55 +02:00
Oliver Kowalke
bcb2b415ce call/cc supports ucontext_t and WinFiber 2017-05-26 11:42:28 +02:00
Oliver Kowalke
c588717142 Merge pull request #9 from Batchyx/documentation-patch
doc: Fix unmatched parenthesis in intro.qbk
2017-04-22 19:16:37 +02:00
Batchyx
51ede0eb04 doc: Fix unmatched parenthesis in intro.qbk 2017-04-16 15:23:02 +00:00
Oliver Kowalke
353d716c2e remove example using segmented stacks
- segemented stacks can only be used by execution_context (v1)
- boost.coroutine2 does not support execution_context (v1)
2017-04-08 11:43:26 +02:00
Oliver Kowalke
4a6a37aade renaming of continuation functions 2017-03-05 10:36:09 +01:00
oliver Kowalke
6bfa86ef50 resume() -> continuation::operator() 2017-02-02 09:26:48 +01:00
oliver Kowalke
638d3f209c rename transfer_data() -> get_data() 2017-02-01 09:32:05 +01:00
Oliver Kowalke
1259de92b6 fix of #4
boost::coroutine2<>::pull_type does not accept std::bind
2017-01-21 14:08:52 +01:00
Oliver Kowalke
caceefc8c9 callcc() -> resume() 2017-01-05 19:00:47 +01:00
Oliver Kowalke
9a166cd623 add support for callcc() 2017-01-02 13:31:23 +01:00
Oliver Kowalke
b7e1be3713 implicitly declared default constructor would not be constexpr 2016-12-20 05:17:16 +01:00