1972 Commits

Author SHA1 Message Date
Oliver Kowalke d420239374 Merge pull request #344 from gwankyun/fix/asio-api-compat
fix examples: replace deprecated asio API.
2026-06-15 17:01:16 +02:00
權少 c9ee717862 fix: replace deprecated asio API. 2026-06-14 13:07:58 +08:00
Oliver Kowalke 159c5c2ee4 Merge pull request #340 from eoan-ermine/issue/338
Replace std::aligned_storage<T, ...> with alignas(T) unsigned char[]
boost-1.92.0.beta1
2026-06-02 19:36:40 +02:00
Oliver Kowalke 3dd89fb350 Merge pull request #339 from a2Fsa2k/fix/channel-iterator-double-free
Fix double destructor call in channel iterators
2026-06-02 19:34:27 +02:00
Danil Sidoruk 1e60d18a84 Replace std::aligned_storage<T, ...> with alignas(T) unsigned char[] 2026-05-30 23:54:57 +03:00
Omkar Bhor c4708c7bd7 Fix double destructor call in buffered_channel and unbuffered_channel iterators
Commit 37b5f770 (#209) added an explicit destructor call in operator++() for
channel iterators. Later, commit e4406238 (#258) added the same destructor
call inside increment_() which operator++() calls. This results in the
destructor running twice on every iterator increment, causing undefined
behavior (double-free) for non-trivially-destructible types.

This bug affects all users of range-for loops over buffered_channel and
unbuffered_channel with types like std::string, shared_ptr, etc.

Fix by removing the redundant destructor call in operator++() since
increment_() already handles it correctly.

Regression test uses a type with an atomic destruction counter to verify
objects are destroyed exactly once.
2026-05-27 19:20:34 +05:30
Oliver Kowalke e7c2bda93a Merge pull request #335 from carlo-bramini/fix-win32-1
WIN32: fix comparison of different sizes into compute_cpu_set()
2026-05-11 17:08:46 +02:00
Oliver Kowalke 91c9568f2d Merge pull request #336 from m-fila/cuda_include
fix CUDA header for runtime api
2026-05-11 17:07:59 +02:00
Oliver Kowalke 7ae5fe652e Merge pull request #337 from m-fila/typos
fix a few spelling typos in the documentation
2026-05-11 17:07:10 +02:00
Mateusz Jakub Fila 7e37e8c3f2 fix a few spelling typos in the documentation 2026-01-29 14:37:10 +01:00
Mateusz Jakub Fila 5edb802dce fix CUDA header for runtime api 2026-01-29 14:15:49 +01:00
Carlo Bramini 8457315652 WIN32: fix comparison of different sizes into compute_cpu_set() 2025-12-12 15:07:33 +01:00
Oliver Kowalke 238487b543 fix property numa boost-1.91.0.beta1 boost-1.91.0 boost-1.90.0.beta1 boost-1.90.0 boost-1.89.0 boost-1.88.0 2025-02-21 15:28:56 +01:00
Oliver Kowalke 048952639a Merge pull request #324 from eoan-ermine/hash
Implement std::hash for boost::fibers::context::id
2024-12-26 08:21:59 +01:00
Danil Sidoruk 4eb7c3210f Implement std::hash for boost::fibers::context::id 2024-09-12 21:09:41 +03:00
Oliver Kowalke 7838ab09d7 Merge pull request #315 from brad0/boost_fiber_futex_openbsd
futex: add support for OpenBSD
boost-1.87.0 boost-1.88.0.beta1 boost-1.87.0.beta1
2024-08-28 12:52:36 +02:00
Oliver Kowalke 530bc5ea82 Merge pull request #320 from xiaodaxia-2008/fix_dllimport_error
remove BOOST_FIBERS_DECL on function definition
2024-08-28 12:52:00 +02:00
Oliver Kowalke 2193e6d110 Merge pull request #322 from grafikrobot/modular
Add support for modular build structure.
2024-08-18 20:46:55 +02:00
Rene Rivera 01578e9635 Split b2 dependencies into public and private. 2024-07-26 12:48:26 -05:00
Rene Rivera 676537675c Move inter-lib dependencies to a project variable and into the build targets. 2024-07-23 22:34:24 -05:00
Rene Rivera f5e218f95e Update copyright dates. 2024-07-20 22:52:05 -05:00
Rene Rivera 7e1479b691 Bump B2 require to 5.2 2024-06-14 11:33:55 -05:00
Brad Smith d486740347 futex: add support for OpenBSD 2024-05-29 20:52:54 -04:00
xiaodaxia 6bbb63a374 remove BOOST_FIBERS_DECL on function definition 2024-05-28 14:22:17 +08:00
Rene Rivera c47ed65214 Add requires-b2 check to top-level build file. 2024-05-05 09:00:01 -05:00
Rene Rivera 2a16362e2d Add missing import-search for cconfig/predef checks. 2024-05-04 23:29:18 -05:00
Rene Rivera cc33df329e Add missing NO_LIB usage requirements. 2024-04-28 20:15:11 -05:00
Rene Rivera 178724c1c1 Switch to library requirements instead of source. As source puts extra source in install targets. 2024-03-29 21:15:58 -05:00
Rene Rivera eafb83ae82 Make the library modular usable. 2024-03-11 08:38:17 -05:00
Oliver Kowalke fc796a2a11 Merge pull request #312 from Hailios/avoid_aligned_storage
avoid deprecated std::aligned_storage
2023-12-24 08:11:58 +01:00
Oliver Kowalke ae1f491ea5 Merge pull request #313 from brad0/fiber_cpu_relax_powerpc
Unbreak fiber for ELF PowerPC building with Clang
2023-12-24 08:11:17 +01:00
Brad Smith 4d776f7e5d Unbreak fiber for ELF PowerPC building with Clang
Clang also defines the uppercase __POWERPC__ symbol so the commit
2bd8eb02f8 breaks the build on ELF
PowerPC systems. Since we know this is already a PowerPC system
with BOOST_ARCH_PPC then check for the vendor __APPLE__ instead.
2023-12-23 18:12:03 -05:00
Jakob Lovhall baca65edde avoid deprecated std::aligned_storage 2023-12-12 19:19:13 +01:00
Oliver Kowalke 88b8304e78 Merge pull request #277 from Romain-Geissler-1A/develop
[RFC] Introduce boost::fibers::initialize_thread to be able to customize th…
boost-1.85.0.beta1 boost-1.84.0 boost-1.86.0 boost-1.86.0.beta1 boost-1.85.0 boost-1.84.0.beta1
2023-10-01 17:08:04 +02:00
Oliver Kowalke 2e3594c8fb Merge pull request #282 from shredingu/fix_bufferedChannelHang
fix buffered_channel of issue #256 - bug in spinlock_ttas
2023-08-18 07:24:02 +02:00
Oliver Kowalke a574cf912e Merge pull request #307 from Davidoc26/develop
Fix some typos in buffered_channel.qbk
2023-08-18 07:21:59 +02:00
Oliver Kowalke 7ae934587b Merge pull request #306 from barracuda156/darwin
Unbreak fiber for macOS PPC
2023-08-18 07:21:29 +02:00
David Eritsyan 55ec46e13e Fix some typos in buffered_channel.qbk 2023-06-22 14:30:03 +04:00
Sergey Fedorov 2bd8eb02f8 Unbreak fiber for macOS PPC 2023-05-14 17:05:51 +08:00
Oliver Kowalke 2cb72f5dce disable warning related to unused parameter
- #302
boost-1.82.0.beta1 boost-1.83.0.beta1 boost-1.83.0 boost-1.82.0
2022-11-30 08:16:19 +01:00
Oliver Kowalke 3e1770607c Merge pull request #281 from yhsb2k/develop
Fix build with cmake and MinGW
boost-1.81.0.beta1 boost-1.81.0 boost-1.80.0
2022-06-12 17:46:24 +02:00
Oliver Kowalke 3ecffb423b Merge pull request #296 from PooyaEimandar/patch-1
fix std::result_of for cpp20
2022-04-25 15:23:48 +02:00
PooyaEimandar a6b64c9a69 fix std::result_of for cpp20
Fix std::result_of for cpp20
2022-04-25 17:14:58 +04:30
Oliver Kowalke 71f5b89bd1 Merge pull request #294 from ecatmur/patch-1
Add missing const on comparison operators
2022-03-29 13:02:19 +02:00
Ed Catmur b99c41f494 Add missing const on comparison operators
This is detected as an error in C++20 (spaceship) in clang 14, since the operators become ambiguous against reversed candidates.
2022-03-29 11:48:40 +01:00
Oliver Kowalke db44baba88 Merge pull request #292 from kraj/develop
futex: fix build on 32-bit architectures using 64-bit time_t
boost-1.80.0.beta1 boost-1.79.0.beta1 boost-1.79.0
2022-02-21 07:18:01 +01:00
Khem Raj ec7768b68d futex: fix build on 32-bit architectures using 64-bit time_t
Fix the following build failure on 32-bit architectures using 64-bit
time_t (e.g. riscv32):
| ./boost/fiber/detail/futex.hpp:31:23: error: use of undeclared identifier 'SYS_futex'
|     return ::syscall( SYS_futex, addr, op, x, nullptr, nullptr, 0);
|                       ^
| 1 error generated.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-20 22:16:21 -08:00
Oliver Kowalke 8d0fe6055a add dependency to fiber lib 2021-12-29 18:42:41 +01:00
Oliver Kowalke 87b46f3196 Merge pull request #284 from lowsfer/fiber-ctor-with-prop
Allow setting fiber properties on construction
boost-1.78.0
2021-10-02 22:37:28 +02:00
Yao Yao 89beeb378b Allow setting fiber properties on construction 2021-09-22 11:19:57 +08:00