mirror of
https://github.com/boostorg/log.git
synced 2026-01-19 04:22:09 +00:00
fdcd3a233c466e4bb51496460ae32c74b66825c8
adaptive_mutex now uses Boost.Atomic on all platforms that support lock-free atomics native waiting/notifying operations for unsigned int and pthreads on the other platforms. Windows always uses Boost.Atomic. The new implementation blocks the thread after a number of attempts to acquire the lock with spinning backoff. This should reduce CPU load if for some reason the thread that owns the lock is holding it for a long time (which typically should not happen, since adaptive_mutex is currently only used in threadsafe_queue, which doesn't hold the lock for too long, unless the holder gets preempted). The change may be significant on POSIX systems, which previously always used pthreads, and performance characteristics of pthread_mutex_t could have been different from our Boost.Atomic-based implementation.
Boost.Log, part of collection of the Boost C++ Libraries, provides tools for adding logging to libraries and applications.
Directories
- build - Boost.Log build scripts
- config - Boost.Log build configuration code and scripts
- doc - QuickBook documentation sources
- example - Boost.Log examples
- include - Interface headers of Boost.Log
- src - Compilable source code of Boost.Log
- test - Boost.Log unit tests
More information
- Documentation
- Ask questions
- Report bugs. Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
- Submit your patches as pull requests against develop branch. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.
- Discussions about the library are held on the Boost developers mailing list. Be sure to read the discussion policy before posting and add the
[log]tag at the beginning of the subject line.
Build status
| Branch | GitHub Actions | AppVeyor | Test Matrix | Dependencies |
|---|---|---|---|---|
master |
||||
develop |
License
Distributed under the Boost Software License, Version 1.0.
Description
Languages
C++
99%
CMake
1%
