mirror of
https://github.com/boostorg/atomic.git
synced 2025-05-11 13:34:07 +00:00
When targeting Windows 8, the always_has_native_wait_notify static constant would be set to false even though the native implementation of waiting and notifying operations through WaitOnAddress would always be used. To fix this, moved direct WaitOnAddress & co. usage to public header. This also requires users to link with synchronization.lib, which is done automatically on compilers that support auto-linking. The compiled library still implements runtime detection of WaitOnAddress, even when building for Windows 8 and later. This allows user's code to be later compiled for Windows 7 and older and still work. This code is not used when user's code targets Windows 8 or later. As part of this refactoring, renamed has_synchronization test and related CMake variable to better communicate that we're testing for a library.