Download Latest Version 3.0.1 source code.zip (800.6 kB)
Email in envelope

Get an email when there's a new version of lockfree

Home / 3.0.0
Name Modified Size InfoDownloads / Week
Parent folder
3.0.0 source code.tar.gz 2026-02-23 795.8 kB
3.0.0 source code.zip 2026-02-23 800.7 kB
README.md 2026-02-23 1.3 kB
Totals: 3 Items   1.6 MB 0
  • Breaking: PopOptional() has been renamed to Pop() as an overload for the Queues
  • Breaking: mpmc::Queue now enforces a power-of-2 size. This is necessary to prevent deadlocks on index overflows.
  • Fixed an incorrect our_turn check in mpmc::Queue that caused incorrect behavior when monotonic push/pop counters wrapped around
  • Fixed the push/pop count comparison condition in mpmc::Queue
  • Replaced the two per-slot atomics (push_count/pop_count) in mpmc::Queue with a single access_count, reducing memory usage and contention per slot
  • Added cacheline alignment for mpmc::Queue slots when LOCKFREE_CACHE_COHERENT is enabled, eliminating false sharing between adjacent slots
  • Moved _write_wrapped and _read_wrapped flags in spsc::BipartiteBuf to share cachelines with their respective producer/consumer indexes, reducing cache contention
  • Fixed spsc::RingBuf std::array overloads to use .data() instead of .begin(), returning a proper pointer rather than an iterator
  • Ensured PriorityQueues must have at least 2 priorities
Source: README.md, updated 2026-02-23