liblfds is a portable, lock-free data structure library. Out-of-the-box ports are provided for Linux (user-mode) and Windows (user-mode and kernel-mode) on ARM, x86, and x64, under a variety of toolchains. Currently, the library contains a freelist, queue, ringbuffer, singly-linked list (logical delete only), and a stack. The homepage contains a blog, bugzilla, forum, and mediawiki. The mediawiki contains comprehensive documentation for development, building, testing, and porting. There is no license. You are free to use this code in any way.
|Tags||lock-free C Library data structures|
|Operating Systems||Windows Linux|
Release Notes: Release 6.1.1 is a bugfix release which supersedes release 6.1.0. Compiler barriers for atomic operations were not brought over from 7.0.0 during backporting.
Release Notes: Release 6.0.1 is a bugfix release. Release 6.0.0 was intended to move into the new namespacing policy, but an enum was missed and lacked the necessary prefix. This means release 6 and release 6.0.0 are not namespace-independent.
Release Notes: This is a long overdue maintenance release. It fixes all bugs, but has almost no new or improved functionality.
Release Notes: Release 6.0.0 is absolutely identical to release 6 except that the library has been moved into a namespace so that every release from now on can be used concurrently in the same build. The purpose of this build is a stepping-stone to 6.1.0, which will be published shortly, being a maintenance release. Release 7.0.0 has been under development for the last three years and hopefully will be out in the next month or two.