pub fn lock_shared(f: &File) -> Result<()>
Blocking shared lock: waits only for an exclusive holder’s critical section (the page-WAL writer’s tail truncation or checkpoint).