2
0
mirror of https://github.com/boostorg/sync.git synced 2026-02-02 21:22:10 +00:00
Commit Graph

203 Commits

Author SHA1 Message Date
Andrey Semashev
af7c03b2c7 Updated include to a more recent location. boost-1.82.0.beta1 2023-02-03 20:59:52 +03:00
Andrey Semashev
11426a676f Updated to GHA checkout@v3 to avoid deprecation warnings. 2022-10-18 17:59:33 +03:00
Andrey Semashev
79427774fb GitHub Actions config update.
- Added gcc-12 and clang-13 through 15 jobs.
- Added C++23 testing for gcc and clang on Linux.
- Updated clang version for UBSAN job.
- Updated Ubuntu version for clang jobs to avoid having to use external APT
  repository.
- Updated python package installation for compatibility with Ubuntu 22.04.
2022-09-10 02:01:47 +03:00
Andrey Semashev
03a797c15b Use ubuntu-latest for GHA CI jobs that run in a container. 2022-08-14 14:17:30 +03:00
Andrey Semashev
b8972d95c0 Switch to macos-11 GHA image as macos-10.15 is deprecated. 2022-08-12 16:04:36 +03:00
Andrey Semashev
3cbb0f7fc9 Added VS2022 job and C++20 and C++latest jobs to AppVeyor CI. 2022-06-06 03:10:38 +03:00
Andrey Semashev
e690de2d30 Silenced b2 warning about unescaped character. 2021-11-19 18:35:10 +03:00
Andrey Semashev
cab1a6b810 Updated check for apt-add-repository capabilities.
In Ubuntu 20.04 there appeared an updated version of the
software-properties-common package in focal-updates, which ships a newer
apt-add-repository version that doesn't support -P/-S/-U command line arguments.

Since we cannot rely on package version checks to determine apt-add-repository
capabilities, we have to parse its --help output instead.

Also, made source list processing more protected against spaces.
2021-11-16 00:52:44 +03:00
Andrey Semashev
07ab2e5e48 Fixed git version check on Mac OS. 2021-09-26 20:43:08 +03:00
Andrey Semashev
641152b4ef Updated README.md to replace links to Travis CI with GHA and add more links. 2021-09-15 22:10:15 +03:00
Andrey Semashev
c26d2662d2 Added GitHub Actions config. 2021-09-15 22:07:17 +03:00
Andrey Semashev
90821ea265 Removed Travis CI config.
Since Travis CI no longer runs free jobs for open source projects,
we are migrating to GitHub Actions instead.
2021-09-15 22:06:08 +03:00
Andrey Semashev
dfdf317f63 Merge pull request #17 from fdetro/topic/deprecated_boost_headers
fix boost deprecated header warnings
2021-02-05 17:00:41 +03:00
Franz Detro
8a26db61ab fix boost deprecated header warnings 2021-02-05 14:18:41 +01:00
Andrey Semashev
47d9228fef Merge pull request #15 from boostorg/feature/remove-mach-event
events: remove mach's manual_reset_event
2020-08-14 14:29:03 +03:00
Tim Blechmann
4ef9fbbedb events: remove mach's manual_reset_event
there is the following race condition when `set` is called during
`wait`:

* thread A: wait() -> load the state value 0
* thread B: set() -> set state value to 1
* thread B: set() -> wake all waiters (semaphore_signal_all)
* thread A: wait() -> semaphore_wait

i didn't find a way to properly implement this without condition
variables (or futex-style APIs which are not available on macos).
so we should use the fallback emulation here
2020-08-14 13:37:50 +08:00
Andrey Semashev
efbf1f51b1 Added gcc 10 build jobs to Travis CI. 2020-05-22 18:45:08 +03:00
Andrey Semashev
c9e41b88cf Merge pull request #14 from eldiener/develop
Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74
2020-05-06 16:02:02 +03:00
Andrey Semashev
1ba0a372a9 Added clang-10 jobs to Travis CI. 2020-05-05 23:24:43 +03:00
Edward Diener
ea439bd74f The corrected DLL entry point for the Embarcadero clang-based compilers. 2020-04-18 17:20:55 -04:00
Edward Diener
a9911c755a Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-31 20:08:15 -04:00
Andrey Semashev
aa425df7c0 Updated boost::atomic uses to the new value() accessor. 2020-03-05 22:03:17 +03:00
Andrey Semashev
e0eb6c98fd Merge pull request #13 from boostorg/feature/mach-fixes
Feature/mach fixes
2020-01-22 12:55:07 +03:00
Tim Blechmann
16dd10ada5 semaphores: mach - gracefully handle KERN_ABORTED
KERN_ABORTED can happen on spurious wakeups, e.g. when running inside a
debugger. in this case, we should retry the wait
2020-01-02 22:01:04 +08:00
Andrey Semashev
fb1a307c89 Merge pull request #12 from boostorg/pr/source-location
Use throw_exception overload taking source_location
2019-11-27 20:01:52 +03:00
Peter Dimov
ec0c5cfd42 Add source_location #include 2019-11-27 18:50:16 +02:00
Peter Dimov
7f22a4b16e Use throw_exception overload taking source_location 2019-11-26 17:39:29 +02:00
Andrey Semashev
75c4bb0e5e [ci-skip] Disabled all but one OS X jobs because they are slow on Travis CI. 2019-10-22 15:08:23 +03:00
Andrey Semashev
4bd9c484b7 Reworked manual reset event to avoid unnecessary futex syscalls.
Use futex state to hold the number of waiters and avoid invoking futex wake
when there are no waiters blocked on the event. To improve efficiency of
atomic operations, switched to Boost.Atomic exclusively.

Also, documented that resetting the event has relaxed memory ordering
semantics.
2019-10-17 16:05:47 +03:00
Andrey Semashev
4d75adf846 Added a workaround for the case when std::time performs rounding. 2019-10-13 23:26:20 +03:00
Andrey Semashev
ae474ad1d5 Disabled 32-bit tests for clang with libc++ because of linking errors. 2019-10-13 23:12:27 +03:00
Andrey Semashev
cd91c032dd Removed i386 package installs for libc++ and libc++abi. 2019-10-13 11:40:07 +03:00
Andrey Semashev
02663f40ca Try re-enabling clang-win builds on VS2017 image. 2019-10-12 22:44:38 +03:00
Andrey Semashev
1e39a1ad1b Re-disabled 32-bit clang UBSAN builds. 2019-10-12 20:59:12 +03:00
Andrey Semashev
62948cd18c Downgraded clang builds to Xenial since there are no 32-bit packages for Bionic. 2019-10-12 19:01:14 +03:00
Andrey Semashev
c9c85555d3 Disabled 32-bit clang UBSAN builds due to linking errors. 2019-10-12 18:07:04 +03:00
Andrey Semashev
63b7ffeac9 Disabled clang-win because of linking problems. 2019-10-12 17:09:07 +03:00
Andrey Semashev
ce17f7bb8a Updated CI configs, added new compilers. 2019-10-12 13:30:57 +03:00
Andrey Semashev
dde36a6ea6 Check event state on futex wakeups in manual_reset_event.
futex manpage[1] says that zero return code from a futex wait operation
may still indicate a spurious wakeup. Therefore we have to check the
event state before returning.

[1]: http://man7.org/linux/man-pages/man2/futex.2.html
2019-10-11 20:26:31 +03:00
Andrey Semashev
0ff2a08b40 Fixed incorrect old_state on first futex wait in auto_reset_event.
When futex_wait is first attempted, the old_state value did not account
for the waiter that was just added before entering the loop.

Also, some code cleanup and renaming.
2019-10-11 20:25:29 +03:00
Andrey Semashev
5e788fada7 Added Overview and Configuring sections in the docs. 2019-10-06 17:22:53 +03:00
Andrey Semashev
f8bc52a2c5 Removed unneeded empty line. 2019-10-06 17:21:46 +03:00
Andrey Semashev
6c2098d0de Create libs/sync directory before copying the checkout into the Boost tree.
This is needed to run tests on Boost.Sync master since the superproject doesn't
have a supermodule for Boost.Sync in the master branch.
2019-01-15 21:47:41 +03:00
Andrey Semashev
9350bd93af Enabled multiple git fetch jobs while executing depinst in CI. Increased the number of jobs to 8. 2019-01-15 13:58:29 +03:00
Andrey Semashev
7df0b2f16c Removed linking with Boost.System.
Since Boost.System is now header-only, remove linking with the library.
2019-01-14 20:23:16 +03:00
Andrey Semashev
0631f0e507 Use inline namespaces even in C++03 mode with gcc >= 4.4.
Since gcc 7 deprecated strong using directives, we have to use a different
extension to implement inline namespaces in C++03. This silences gcc warnings.
2019-01-04 00:41:24 +03:00
Andrey Semashev
ffd2a86d5f Ported tests to lightweight_test.hpp.
This will allow to work around compilation warnings and errors on
MinGW coming from Boost.Test.
2019-01-03 21:22:44 +03:00
Andrey Semashev
0adccdb976 Added workarounds for Cygwin, made cv and mutex ctors non-constexpr.
On Cygwin, pthread initializer macros are defined in a way incompatible
with C++ constexpr.
2019-01-03 15:55:04 +03:00
Andrey Semashev
898127aaa8 Fixed compilation errors and warnings on Windows. 2019-01-02 22:11:28 +03:00
Andrey Semashev
3c9d12442d Use CPU count to run parallel build/test jobs in CI. 2019-01-02 21:19:53 +03:00