aboutsummaryrefslogtreecommitdiffstats
path: root/common/atomic.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused atomic_invflagChris Robinson2022-02-231-19/+0
|
* Inherit the atomic_flag constructors in atomic_invflagChris Robinson2022-02-061-3/+1
|
* Make an inverted atomic flag type and use itChris Robinson2021-04-151-0/+21
| | | | | | | | The inverted atomic flag replaces test_and_set+clear with test_and_clear+set, essentially inverting the flag status. This makes more logical sense for flagging dirty state, which is less confusing than flagging clean state. The one caveat is ATOMIC_FLAG_INIT (or default construction in C++20) initializes the state to true rather than false.
* Add a common base for auto-deleting ref-counted objectsChris Robinson2019-08-011-8/+8
| | | | Which will also work as the basis for a future intrusive_ptr
* Get rid of the last ATOMIC macro usesChris Robinson2018-11-261-15/+0
|
* Remove some unused macrosChris Robinson2018-11-261-7/+0
|
* Avoid using the ATOMIC() macroChris Robinson2018-11-261-2/+0
|
* Avoid using ATOMIC_INITChris Robinson2018-11-261-3/+1
|
* Remove the ATOMIC_THREAD_FENCE macroChris Robinson2018-11-191-3/+0
|
* Remove the CONST_CAST hackChris Robinson2018-11-191-12/+0
|
* Remove unnecessary using statementsChris Robinson2018-11-191-35/+16
|
* Remove the atomic exchange macrosChris Robinson2018-11-191-10/+0
|
* Simplify the RefCount typeChris Robinson2018-11-191-9/+8
|
* Replace ATOMIC_REPLACE_HEAD with an inline functionChris Robinson2018-11-191-7/+9
|
* Remove the pointer-specific atomic exchange macrosChris Robinson2018-11-181-15/+1
|
* Remove unused headers and checksChris Robinson2018-11-171-3/+0
|
* Always use C++11 atomicsChris Robinson2018-11-171-336/+2
|
* Avoid using ATOMIC_FLAGChris Robinson2018-11-131-30/+0
| | | | | Although it cant potentially be better than a regular atomic, it presents compatibility issues when non-C11 atomics are mixed with C++
* Fix some backup atomic macrosChris Robinson2018-10-311-4/+4
|
* Workaround C++ compatiility issues for atomic.hChris Robinson2018-10-291-5/+49
| | | | | | | | | | This isn't wholly correct since neither C11 or C++11 guarantee compatibility between atomic implementations. It's desired behavior and mostly works, see: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0943r1.html Alignment issues can be fixed with manual alignas() specifications, should the need arise.
* Slightly relax the memory order for ref countersChris Robinson2018-03-261-3/+3
|
* Fix up some types for MSVCChris Robinson2018-01-111-1/+2
|
* Avoid including alMain.h in ringbuffer.cChris Robinson2018-01-111-0/+13
|
* Move internal headers out of the include directoryChris Robinson2017-04-141-0/+425