elips/docs
Chapter XIII · concurrency

LockManager internals

Concurrency control is in-process. ELIPS does not coordinate across processes for writes — that is what the file lock is for.

From docs/internals/lock-manager.md: locks are acquired in a fixed hierarchical order (database → vault → record). Acquiring out of order is a programmer error and is asserted in debug builds.

  • Shared (read) and exclusive (write) modes per resource
  • Deadlock prevention via fixed acquisition order — no cycle detector needed
  • Lock-free read paths through the index when the writer is not active