pub fn unlockShared(rl: *RwLock, io: Io) void
pub fn unlockShared(rl: *RwLock, io: Io) void { const state = @atomicRmw(usize, &rl.state, .Sub, reader, .seq_cst); if ((state & reader_mask == reader) and (state & is_writing != 0)) rl.semaphore.post(io); }