This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

release 7.0.0 of liblfds, a lock-free data structure library, has been published

Lock-free data structures are process, thread and interrupt safe (i.e. the same data structure instance can be safely used across processes, threads and both inside and outside of interrupt handlers), never sleep (and so are safe for kernel use when sleeping is not permitted), operate without context switches, cannot fail (no need to handle error cases, as there are none), perform and scale literally orders of magnitude better than locking data structures, and liblfds itself (as of release 7.0.0) is implemented such that it performs no allocations and compiles not just on a freestanding C89 implementation, but on a bare C89 implementation.

Out-of-the-box support is provided (amongst many) for ARM32 using GCC.  Other toolchains will probably need the porting layer to be ported, as they will provide atomic operations in different ways.

*Full* documentation is provided - a page per data structure API function, structure, enum, etc, and full docs for porting, building, etc.

http://www.liblfds.org