rlsbl.lock
Advisory file lock to prevent concurrent rlsbl operations.
Uses fcntl.flock on .rlsbl/lock to ensure only one rlsbl process (release, scaffold, etc.) mutates project state at a time.
Functions
acquire_lock
def acquire_lock()
Acquire an exclusive advisory lock on .rlsbl/lock.
If another process holds the lock, prints a waiting message and blocks until the lock is available. Returns early if already locked (prevents fd leak on double-acquire).
release_lock
def release_lock()
Release the advisory lock and close the file descriptor.
rlsbl_lock
def rlsbl_lock()
Context manager that acquires the lock on enter and releases on exit.