Function tryLock [src]

Prototype

pub fn tryLock(rwl: *DefaultRwLock) bool

Parameters

rwl: *DefaultRwLock

Source

pub fn tryLock(rwl: *DefaultRwLock) bool { if (rwl.mutex.tryLock()) { const state = @atomicLoad(usize, &rwl.state, .seq_cst); if (state & READER_MASK == 0) { _ = @atomicRmw(usize, &rwl.state, .Or, IS_WRITING, .seq_cst); return true; } rwl.mutex.unlock(); } return false; }