Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

OLSRT — A C11 Concurrency Runtime with Actors, Channels, and an Event Loop

Description and use

OLSRT consolidates core concurrency primitives into a single C11 library, eliminating the need to re‑implement epoll wrappers, thread pools, and other components. Tests and demos confirm correct operation.

Problem

Developers writing concurrent C on Linux repeatedly re‑implement epoll wrappers, thread pools, lock‑free queues, promises, and shutdown logic, leading to duplicated effort and inconsistent quality.

Outcome

OLSRT consolidates common concurrency primitives into a single, well‑tested C11 library, reducing duplication and improving reliability. The test suite and demos confirm correct operation, and the library is easy to integrate.

Workflow

  • Clone the OLSRT repository
  • Build the library with "make linux"
  • Run the test suite with "python3 verify.py" to ensure ASan, UBSan, and TSan pass
  • Use the provided demos in the demos/ directory to validate functionality
  • Integrate OLSRT primitives into your project by linking against the library and including the appropriate headers

Evidence

Four years ago, if you wanted to write concurrent C on Linux, you ended up writing the same code over and over: an epoll wrapper, a thread pool, a lock-free queue, a promise type, and a way to shut all of it down cleanly without leaking.

Source

OLSRT is our answer to that. It is an Apache-2.0 C11 runtime that ships all of those primitives in one place, with a coherent ownership model and a single event loop that ties them together.

Source

The previous release shipped without a test suite and, as we later discovered, with eleven real bugs. We spent a week writing regression tests before touching any of them.

Source

Demo 02 ran 1,000,000 messages through a 1024-slot channel on an AMD E2-1800 (dual-core, 1.7 GHz) at roughly 386,000 msg/s.

Source

git clone https://github.com/OverLab-Group/OLSRT.git cd OLSRT make linux python3 verify.py # ASan + UBSan + TSan

Source

  • Record date: 2026-10-01T11:40:43.700Z