2866 Commits

Author SHA1 Message Date
Andrey Semashev 608459ab7c Increased BOOST_THREAD_TEST_TIME_MS yet more because of test failures on Windows. boost-1.92.0.beta1 2026-07-03 21:57:51 +03:00
Andrey Semashev 3f285e5600 Fixed more MSVC warnings about variables shadowing other variables. 2026-07-03 19:17:31 +03:00
Andrey Semashev c28c5a4b28 Try to gracefully finish the timed_join test in case of timeout. 2026-07-03 19:17:31 +03:00
Andrey Semashev 0bdc465f89 Fix uninitialized variable warnings in sync queue tests. 2026-07-03 19:17:31 +03:00
Andrey Semashev aeabeffe4d Silence compiler warnings about unused variables. 2026-07-03 19:17:31 +03:00
Andrey Semashev 6fdc4aa10d Fix mutex assignment tests to actually test that assignment is prohibited.
Previously, mutex assignment tests were copies of the copy constructor
tests and did not verify that the assignment operator was deleted. Fix this.
2026-07-03 19:17:31 +03:00
Andrey Semashev 65410ba739 Reduced OMP thread count to avoid test failures due to resource exhaustion. 2026-07-03 19:17:31 +03:00
Andrey Semashev 171eb5811e Enable OpenMP on gcc for test_9856.
By default, OpenMP is not enabled in gcc, which means the test is run
sequentially and compiler warnings about an unsupported #pragma. Enable
OpenMP for gcc and this particular test.
2026-07-03 14:16:17 +03:00
Andrey Semashev 03db328308 Increased max time differences in tests to improve CI reliability.
Increased BOOST_THREAD_TEST_TIME_MS (a.k.a. max_diff) threshold that is
used in many tests for checking wakeup time delays to 600 ms on systems
other than Linux. This is to account increased delays on VMs that are
used to run CI on BSD systems, which occasionally cause excessively long
latencies in thread communication and wakeups.
2026-07-03 02:45:45 +03:00
Andrey Semashev fbeebd66eb On OpenBSD, disable thread ctor tests that throw from operator new.
The tests crash with SIGSEGV when operator new throws for unknown
reason. The constructor itself works as other, non-throwing tests pass.
2026-07-03 02:40:40 +03:00
Andrey Semashev 5a5554a3a6 Avoid recursively throwing an exception from a custom operator new.
Allocating an exception object may recursively call our custom operator
new, which would result in an infinite recursion and a crash. So only
initiate the throw when the operator is called non-recursively.
Otherwise, let the memory allocation proceed using malloc.
2026-07-03 02:40:40 +03:00
Andrey Semashev 031406d2f3 Removed exception specification from custom operator new overrides.
The specifications are not necessary since C++11 anyway, and we
no longer support C++03.
2026-07-03 02:40:40 +03:00
Andrey Semashev 1ce6bceadf Added checks for the malloc call results in operator new.
The operator new is not supposed to return null pointers, so throw
bad_alloc when malloc returns null. This should avoid segmentation
faults if malloc fails.
2026-07-03 02:40:40 +03:00
Andrey Semashev 55cbdeefe4 Silenced unused variable warning. 2026-07-03 02:40:40 +03:00
Andrey Semashev 04da999e57 Silenced unused variable warnings. 2026-07-03 02:40:40 +03:00
Andrey Semashev 884ce13ddd Fix uninitialized variable warnings. 2026-07-03 02:40:40 +03:00
Andrey Semashev 2f9ffdbb63 Removed unused local variables to avoid clang warnings. 2026-07-03 02:40:40 +03:00
Andrey Semashev 53d49020f6 Fix deprecated implicit copy constructor warning in example. 2026-07-03 02:40:40 +03:00
Andrey Semashev 79ebce2326 Provide a user-refined copy constructor in check_flag.
This avoids a clang warning about the implicit copy constructor
being deprecated when a user-defined assignment operator is provided.
2026-07-03 02:40:40 +03:00
Andrey Semashev 78190abb18 Avoid relying on timeouts in when_all/when_any tests.
Use thread barriers to synchronize between the main and async threads
instead of relying on timeouts. This should make these tests more
reliable in CI.
2026-07-03 02:40:40 +03:00
Andrey Semashev 3b4615d9e7 Increased timeouts in condition variable notify tests.
Also made reading the waiting flag thread-safe in the notify tests.
2026-07-03 02:40:40 +03:00
Andrey Semashev 7bcb46a9c7 Avoid relying on timeouts in try_lock_until tests for lock types.
Directly compare the absolute timeouts that are passed to try_lock_until
calls with the expected values. This makes the tests more reliable.
2026-07-03 02:40:40 +03:00
Andrey Semashev c8c283c1e7 Adjusted timeouts in wait tests for futures to improve CI reliability. 2026-07-03 02:40:22 +03:00
Andrey Semashev d5c457aa4a Increased timeouts in thread tests to avoid test failures in CI. 2026-07-02 11:29:30 +03:00
Andrey Semashev dd60839a4e Added multiple attemps of timed waits on a cv in mutex lock tests.
Condition variable timed waits may occasionally return true even if
noone notifies on the variable, which breaks the tests that expect
a timeout. This is considered as spurious wakeups. Add a few attempts
at waiting, which should significantly reduce the likelyhood of
test failures.
2026-07-02 11:29:30 +03:00
Andrey Semashev fc290ec4be Renamed global variables to avoid name clashes with local variables.
This should silence MSVC warnings about local variables in various
places shadowing global variables in the tests.
2026-07-02 11:29:30 +03:00
Andrey Semashev b140c29da3 Use barriers in timed try_join tests.
Use thread barriers to synchronize between test threads to improve
test reliability.
2026-07-02 11:29:29 +03:00
Andrey Semashev 559143bde2 Added timeout grace period to condition variable notify tests.
This should reduce the likelihood of test failures due to timeouts.
2026-07-02 11:29:29 +03:00
Andrey Semashev ef5505e0a1 Join test threads before checking for notification count.
In condition variable notification tests, join the test threads
before making the final check for the number of notifications instead
of relying on timeouts. This should make the tests more reliable,
especially on Windows.
2026-07-01 18:43:31 +03:00
Andrey Semashev 07a7ded841 Reworked GitHub Actions CI config.
Removed usage of actions/checkout which breaks for older compilers due
to dependency on a new Node.js version. Use curl to download Boost
sources.

Removed obsolete GitHub Actions images, added new compilers and more
C++ versions to test. Added jobs for more target operating systems.

Updated environment setup scripts for better performance and
reliability.
2026-07-01 18:43:24 +03:00
Andrey Semashev 375ba39cf9 Fixed code indentation. 2026-06-29 13:19:38 +03:00
Andrey Semashev 48929e4281 Added missing includes of no_exceptions_support.hpp. 2026-06-29 13:13:29 +03:00
Andrey Semashev 07b93da337 Merge pull request #419 from mkruskal-google/patch-1
Use no-exceptions-friendly macros for try/catch block
2026-06-29 13:06:46 +03:00
Mike Kruskal 072ee46e8a Use no-exceptions-friendly macros for try/catch block
This fixes build breakages when -fno-exceptions is used
2026-06-17 21:03:48 -07:00
Andrey Semashev ac15f907be Fix warnings about missing sized deallocation operator in C++14 mode. boost-1.91.0.beta1 boost-1.91.0 2026-02-06 15:45:40 +03:00
Andrey Semashev e2f6e8789f Fixed uninitialized variable warnings. 2026-02-06 15:21:11 +03:00
Andrey Semashev 24917577d7 Silence unused variable warnings. 2026-02-06 15:14:21 +03:00
Andrey Semashev 6da5c6d418 Updated no_exceptions_support.hpp include to the up-to-date location. 2026-02-06 15:08:13 +03:00
Andrey Semashev de9eb0ee7d Fix signed/unsigned a mismatch warning. 2026-02-06 15:06:51 +03:00
Andrey Semashev f19c0d3b56 Removed usage of deprecated Boost.Test header. 2026-02-06 15:05:38 +03:00
Andrey Semashev 3d95d2366e Optimize run_it construction/assignment from rvalue references.
Also fix code indentation.
2026-02-06 14:58:10 +03:00
Andrey Semashev ed7171099b Silence MSVC warning about unreferenced formal parameter.
Closes https://github.com/boostorg/thread/pull/382.
2026-02-06 14:34:14 +03:00
Andrey Semashev 36f63a1b63 Merge pull request #331 from marcusb/patch-1
Non-template function needs inline
2026-02-06 14:05:38 +03:00
Andrey Semashev 2a953f1c4b Merge pull request #309 from Lastique/fix_bind_warnings
Cleanup header includes
2026-02-06 14:04:41 +03:00
Andrey Semashev c34d1fd2d9 Merge pull request #327 from giomasce-throwaway/develop
Fix typos in copyright headers.
2026-02-06 14:00:01 +03:00
Andrey Semashev be42bd8d10 Merge pull request #398 from georgthegreat/patch-1
Use forward slashes to separate include files
2026-02-06 13:58:36 +03:00
Andrey Semashev 45e77a932f Merge pull request #401 from bazelboost/add-missing-assert-header
add missing assert header in pthreads_helpers.hpp
2026-02-06 13:57:07 +03:00
Andrey Semashev b712fac6cc Merge pull request #417 from Lastique/feature/remove_static_assert
Remove dependencies on Boost.StaticAssert
2026-02-06 13:55:25 +03:00
Andrey Semashev ca6b6affec Remove dependencies on Boost.StaticAssert.
Boost.StaticAssert has been merged into Boost.Config, so remove
the dependency.
2026-01-22 19:47:42 +03:00
Peter Dimov a1f89c9518 Merge pull request #403 from grafikrobot/modular
Add support for modular build structure.
boost-1.90.0.beta1 boost-1.90.0 boost-1.89.0
2025-05-02 19:21:55 +03:00