Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add a missing return | Chris Robinson | 2024-01-03 | 1 | -1/+1 |
| | |||||
* | Properly handle the atomic unique_ptr type deleter | Chris Robinson | 2024-01-02 | 1 | -13/+16 |
| | |||||
* | Use an atomic exchange to destruct the atomic unique_ptr | Chris Robinson | 2024-01-02 | 1 | -1/+5 |
| | | | | | | | | | | A relaxed load isn't required to synchronize with other threads. A thread could exchange the held pointer, and a subsequent load is allowed to get either the pre- or post-swap value (it's only required the value be "complete", not junk or some mix of the old and new value). An exchange, however, is guaranteed to synchronize with itself. If an atomic variable has the value 0, for example, with one thread swapping in the value 1 and another the value 2, the two threads are guaranteed to not both get 0 from the swap. | ||||
* | Make and use a (simple) atomic unique_ptr | Chris Robinson | 2024-01-01 | 1 | -0/+66 |
| | |||||
* | Remove some unnecessary atomic wrappers | Chris Robinson | 2023-12-03 | 1 | -8/+5 |
| | |||||
* | Remove unused atomic_invflag | Chris Robinson | 2022-02-23 | 1 | -19/+0 |
| | |||||
* | Inherit the atomic_flag constructors in atomic_invflag | Chris Robinson | 2022-02-06 | 1 | -3/+1 |
| | |||||
* | Make an inverted atomic flag type and use it | Chris Robinson | 2021-04-15 | 1 | -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 objects | Chris Robinson | 2019-08-01 | 1 | -8/+8 |
| | | | | Which will also work as the basis for a future intrusive_ptr | ||||
* | Get rid of the last ATOMIC macro uses | Chris Robinson | 2018-11-26 | 1 | -15/+0 |
| | |||||
* | Remove some unused macros | Chris Robinson | 2018-11-26 | 1 | -7/+0 |
| | |||||
* | Avoid using the ATOMIC() macro | Chris Robinson | 2018-11-26 | 1 | -2/+0 |
| | |||||
* | Avoid using ATOMIC_INIT | Chris Robinson | 2018-11-26 | 1 | -3/+1 |
| | |||||
* | Remove the ATOMIC_THREAD_FENCE macro | Chris Robinson | 2018-11-19 | 1 | -3/+0 |
| | |||||
* | Remove the CONST_CAST hack | Chris Robinson | 2018-11-19 | 1 | -12/+0 |
| | |||||
* | Remove unnecessary using statements | Chris Robinson | 2018-11-19 | 1 | -35/+16 |
| | |||||
* | Remove the atomic exchange macros | Chris Robinson | 2018-11-19 | 1 | -10/+0 |
| | |||||
* | Simplify the RefCount type | Chris Robinson | 2018-11-19 | 1 | -9/+8 |
| | |||||
* | Replace ATOMIC_REPLACE_HEAD with an inline function | Chris Robinson | 2018-11-19 | 1 | -7/+9 |
| | |||||
* | Remove the pointer-specific atomic exchange macros | Chris Robinson | 2018-11-18 | 1 | -15/+1 |
| | |||||
* | Remove unused headers and checks | Chris Robinson | 2018-11-17 | 1 | -3/+0 |
| | |||||
* | Always use C++11 atomics | Chris Robinson | 2018-11-17 | 1 | -336/+2 |
| | |||||
* | Avoid using ATOMIC_FLAG | Chris Robinson | 2018-11-13 | 1 | -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 macros | Chris Robinson | 2018-10-31 | 1 | -4/+4 |
| | |||||
* | Workaround C++ compatiility issues for atomic.h | Chris Robinson | 2018-10-29 | 1 | -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 counters | Chris Robinson | 2018-03-26 | 1 | -3/+3 |
| | |||||
* | Fix up some types for MSVC | Chris Robinson | 2018-01-11 | 1 | -1/+2 |
| | |||||
* | Avoid including alMain.h in ringbuffer.c | Chris Robinson | 2018-01-11 | 1 | -0/+13 |
| | |||||
* | Move internal headers out of the include directory | Chris Robinson | 2017-04-14 | 1 | -0/+425 |