forked from boostorg/thread
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CAR-1802 update boost #1
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…into feature/timespec_clocks
…cks_pr19_no_int_sleep_on_win Add and fix sleep functions
…into feature/timespec_clocks
Update Boost.WinAPI usage to the new location and namespace
- Eliminated BOOST_THREAD_HAS_CONDATTR_SET_CLOCK_MONOTONIC. - CLOCK_MONOTONIC is now always used whenever it is available.
…cks_pr20_cleanup Cleanup
BOOST_THREAD_V2_SHARED_MUTEX allows users to use v2/shared_mutex.hpp instead of pthread/shared_mutex.hpp or win32/shared_mutex.hpp.
* Used the predicate version of condition_variable::wait_until() which correctly handles time jump events. * Fixed an issue with sync_timed_queue::pull_until()/pull_for() where they could incorrectly return queue_op_status::timeout instead of queue_op_status::success. * Changed sync_timed_queue::wait_pull() to return queue_op_status::success instead of queue_op_status::closed when the queue has been closed but an item is available and is ready to be pulled off the queue. * Changed sync_priority_queue::pull_until()/pull_for() and sync_timed_queue::pull_until()/pull_for() to return queue_op_status::closed instead of throwing an exception when the queue is closed since they have a queue_op_status return type.
…cks_pr22_sync_queue_fixes Sync queue fixes, take 2
* Also added comments to the win32 mutex implementations to clarify how the existing code works * Also removed a few unnecessary intermediate variables
* Added checks for BOOST_THREAD_USES_CHRONO * Rearranged the order of the functions in v2/shared_mutex.hpp * No changes were made to the contents of any functions
* Fixed try_unlock_shared_and_lock_until/for() and try_unlock_shared_and_lock_upgrade_until/for() so that they wait on the correct condition variable for the associated predicate. * Fixed try_unlock_shared_and_lock_until/for() and try_unlock_upgrade_and_lock_until/for() so that they take the write_entered_ flag before waiting for all shared readers to unlock. This prevents new readers from taking a shared lock or new writers from taking the exclusive lock while these functions are waiting to take the exclusive lock. * Changed notify_all() calls to occur while the mutex is being held to be consistent with the notify_one() calls and the existing pthread/shared_mutex.hpp implementation. * Added BOOST_THREAD_PROVIDES_SHARED_MUTEX_UPWARDS_CONVERSIONS ifdefs. * Added BOOST_ASSERT() statements to verify correct usage and operation. * Fixed an incorrect test case that the BOOST_ASSERT() statements uncovered. * Added comments to explain certain design decisions.
fix doc/configuration.qbk typo
Switch out from using deprecated Winapi namespace
…ig for the Embarcadero non-clang-based compilers.
…precation warning
C++11 deprecates implicit default copy constructors and operators if the class has user-defined destructor or copy constructor/operator. gcc 9 generates warnings when this deprecated language feature is used. This commit fixes that by providing user-defained copy constructors/operators where needed. The added definitions are equivalent to the implicitly generated by the compiler. For thread::id, removed copy constructor to allow the compiler generate all set of constructors and assignment operators, including move.
… become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
MSVC learned to not emit unreferenced symbols with internal linkage and the hooks were defined in unnamed namespace which forces internal linkage, even if you mark a variable `extern`. Since Boost does not have a stable ABI, does not mangle the namespace with the version, and the hooks are in `boost` namespace (`boost::on_*`) -- there is no point in trying to hide some symbols because mixing different versions of boost static libraries will not work already. I also renamed the `__xl_ca` variable for consistency and because using double underscored identifiers is forbidden. (`[lex.name]/3`) The `extern const` is for verbosity and because they are indeed const (it is done via pragma already).
Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74
artasano
approved these changes
Jul 14, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.