https://github.com/gauravjuvekar/aint-safe
aint-safe - Lock-free async-interrupt-safe data structures
https://github.com/gauravjuvekar/aint-safe
data-structures lock-free
Last synced: 11 months ago
JSON representation
aint-safe - Lock-free async-interrupt-safe data structures
- Host: GitHub
- URL: https://github.com/gauravjuvekar/aint-safe
- Owner: gauravjuvekar
- License: mit
- Created: 2018-03-25T13:28:33.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-09-27T23:13:47.000Z (over 6 years ago)
- Last Synced: 2025-04-07T23:17:26.567Z (about 1 year ago)
- Topics: data-structures, lock-free
- Language: C
- Homepage:
- Size: 55.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
aint-safe - Lock-free async-interrupt-safe data structures
----------------------------------------------------------
aint-safe is a collection of lock-free data structures targeted for use in
interrupt-based (mostly embedded) single-threaded systems. It uses C11 atomics
only.
## Features
- Purely [C11 atomics](http://en.cppreference.com/w/c/atomic).
- Lock-free up to the C11 implementation of `stdatomic`
- No dynamic memory use - `malloc`.
## Note
The functions ensure that the _visible_ effect of any operation interrupting
(nesting within) any other operation is the same as the nested operation
occuring _just before_ or _just after_ the interrupted operation.
_You_ must take into account that a nested operation may change the data
structure state before or after one of the atomic operations.