2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-01-19 04:12:09 +00:00

1960 Commits

Author SHA1 Message Date
Oliver Kowalke
5263ac1fe9 Merge pull request #273 from airstone42/asio
Fix parameter name in asio example
2021-03-16 18:03:03 +01:00
Tianqi
938f816976 fix parameter name in asio example 2021-03-11 20:22:57 +08:00
Oliver Kowalke
4ae6c05d6b Merge branch 'develop' boost-1.76.0 boost-1.76.0.beta1 2021-03-02 19:42:22 +01:00
Oliver Kowalke
0bd11ec8fa Merge pull request #271 from keryell/ronan/typos
Fix some typos in the documentation and clarify 2 notes
2021-03-01 07:53:01 +01:00
Oliver Kowalke
4a31f9d823 Merge pull request #270 from neheb/patch-1
cpu_relax:  exclude octeon+ from the MIPS list
2021-03-01 07:52:40 +01:00
Ronan Keryell
81495e0883 Fix some typos in the documentation 2021-02-19 14:28:00 -08:00
Rosen Penev
065cf05e49 cpu_relax: exclude octeon+ from the MIPS list
The pause MIPS instruction was added in version 2.6 of the standard. Unfortunately,
octeon+ seems to be based on an older standard. Also unfortunately GCC doesn't
have a macro for minor ISA versions.
2021-02-13 18:50:38 -08:00
Oliver Kowalke
be1aa44e50 Merge pull request #269 from BenKaufmann/issue-268
Fix issue #268: Delay creation of waker in unbuffered_channel::push
2021-01-19 16:18:17 +01:00
Benjamin Kaufmann
446f23aec6 Add test for issue #268
The test case hangs without a fix for the issue.
2021-01-19 16:10:04 +01:00
Benjamin Kaufmann
f88f7d35bd Fix issue #268: Delay creation of waker in unbuffered_channel::push 2021-01-19 13:15:43 +01:00
Oliver Kowalke
7c1bc67f11 Merge pull request #266 from eldiener/develop
Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries whose minumum C++ standard compilation level is C++11 on up. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's  compilation level, without having to search the library's documentation to find this out.
2020-12-16 08:14:07 +01:00
Edward Diener
28d8024299 Move cxxstd json field to end. 2020-12-15 21:56:01 -05:00
Edward Diener
edbf7c7474 Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries whose minumum C++ standard compilation level is C++11 on up. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. 2020-12-15 18:33:25 -05:00
Oliver Kowalke
f32495bb89 Merge branch 'develop' boost-1.75.0.beta1 boost-1.75.0 2020-11-11 22:48:39 +01:00
Oliver Kowalke
d4f001dca7 provide wake_queue::empty()
- in context of #53
2020-11-11 16:24:31 +01:00
Oliver Kowalke
6edf85e8ef waker does not derive from intrusive list
- in context of #53
2020-11-11 08:21:58 +01:00
Oliver Kowalke
8ae686f424 Merge branch 'develop' 2020-11-08 21:59:44 +01:00
Oliver Kowalke
c258c58f27 include <algorithm> for std::min
- in context of #264
2020-11-08 18:35:40 +01:00
Oliver Kowalke
4262c4c809 Merge branch 'develop' 2020-10-26 10:17:08 +01:00
Oliver Kowalke
31943493e2 Merge pull request #261 from dmitryikh/fix_wait_queue_asserts
introduce waker and wait_queue abstractions. fixes #251, #259
2020-10-14 16:36:18 +02:00
Dmitry Khominich
bf39f579db use wait_queue in fiber::join()
* wait_queue is used in context::wait_queue_ to synchronize fiber::join() operations
2020-10-14 17:15:51 +03:00
Dmitry Khominich
f1ab9c738e introduce waker and wait_queue abstractions. fixes #251, #259
* remove context::wait_hook_ and context::twstatus in flavor to waker_epoch_ and waker class
* this avoids data races in case of wait_until() operations, when the context
  could be timeouted and rescheduled on the other OS thread. In this case could
  be data races with context::wait_hook_ and inconsistences context::twstatus
  states.
* using context::waker_epoch_ introduces mechanism when the old wakers become
  outdated and waker::wake() is just no op. This fixes data races explained in
  the previous point
* fibers waiting queue with timeouts and notification mechanisms are incapsulated into
  wait_queue class. This introduces simple abstraction level to be used in
  different synchronization primitives
2020-10-14 17:15:07 +03:00
Oliver Kowalke
e440623814 buffered_channel with range-for syntax leaks #258
- call destructor before take new value from channel via placement new
- skip calling desturctorfor the frist call of increment_()
2020-09-30 07:41:26 +02:00
Oliver Kowalke
f84f1a6d94 Merge pull request #255 from dixlorenz/spinlock_retries
increase retries on all paths through the loop
2020-08-18 07:43:30 +02:00
Dix Lorenz
f1048cfe06 increase retries on all paths through the loop 2020-08-17 20:18:15 +02:00
Oliver Kowalke
54d40a6c37 Merge pull request #246 from eldiener/develop
Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74. Inline friend function definitions for exported/imported classes must…
2020-07-17 07:54:47 +02:00
Oliver Kowalke
680c0ac7b9 Merge branch 'develop' boost-1.74.0.beta1 boost-1.74.0 2020-06-26 17:56:06 +02:00
Oliver Kowalke
4bcaab579c -fsplit-stack flag with GCC 2020-06-26 17:55:47 +02:00
Oliver Kowalke
e5e1e3e8ed Merge pull request #253 from EGuesnet/split-stack-flag
Split stack flag
2020-06-26 17:40:02 +02:00
EGuesnet
cfa5e1d865 split-stack flag for GCC 2020-06-26 14:19:36 +02:00
EGuesnet
0cdf09e163 split-stack flag for GCC 2020-06-26 14:17:12 +02:00
Oliver Kowalke
2fba0bcfc9 Merge pull request #248 from ctrysbita/develop
Fix removed std::result_of for async with MSVC and C++20
2020-06-26 07:31:26 +02:00
Oliver Kowalke
9d38644cc6 Merge branch 'develop' 2020-06-24 06:59:04 +02:00
Jason C.H
788f2c594a Fix removed std::result_of for async with MSVC C++20 2020-05-22 22:41:36 +08:00
Edward Diener
309e0a7da0 Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero. 2020-05-19 20:21:14 -04:00
Oliver Kowalke
df4a190f5b Merge pull request #245 from martinitus/examples/fix-asio-deprecations
Examples/fix asio deprecations
2020-05-07 12:23:50 +02:00
Martin Rückl
bd2afc016a asio examples: use post free function over deprecated io_context method 2020-05-07 10:43:53 +02:00
Martin Rückl
f067c0fc1b asio examples: use io_context instead of deprecated io_service 2020-05-07 10:43:53 +02:00
Oliver Kowalke
1ae15db594 Merge pull request #240 from Romain-Geissler-1A/develop
Fix clang -Wunused-parameter warning.
2020-04-24 11:38:21 +02:00
Romain Geissler
a8f826f356 Fix clang -Wunused-parameter warning. 2020-04-03 21:55:37 +00:00
Oliver Kowalke
621dd5fe75 Merge branch 'develop' boost-1.73.0.beta1 boost-1.73.0 2020-02-21 15:15:52 +01:00
Oliver Kowalke
a4a824b6ab Merge pull request #236 from neheb/kk
treewide: Replace {} with = equals
2020-01-15 07:58:45 +01:00
Oliver Kowalke
2582616266 Merge pull request #235 from neheb/jj
treewide: Add explicit to single argument constructors
2020-01-15 07:46:15 +01:00
Rosen Penev
c3126ce7f8 treewide: Replace {} with = equals
Found with modernize-use-equals-default

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-01-14 17:44:48 -08:00
Rosen Penev
f092465660 treewide: Add explicit to single argument constructors
Found with clang-tidy's google-explicit-constructor

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-01-14 17:44:04 -08:00
Oliver Kowalke
ba169b8907 Merge pull request #233 from neheb/hgh
future: Use override instead of virtual
2020-01-13 08:17:00 +01:00
Oliver Kowalke
77ec592b1a Merge pull request #228 from neheb/nb
treewide: Do not use else after return or throw
2020-01-13 08:10:32 +01:00
Oliver Kowalke
1490ec4586 Merge branch 'develop' into nb 2020-01-13 08:10:06 +01:00
Oliver Kowalke
2ab9d5cd8a Merge pull request #234 from neheb/jfgrkj
treewide: Use using instead of typedef
2020-01-13 08:01:58 +01:00
Oliver Kowalke
947a3118ee moving local object in return statement prevents copy elision 2020-01-13 07:52:04 +01:00