pub fn with_shared_lock<F, R>(path: &Path, operation: F) -> Result<R>where F: FnOnce(&mut File) -> Result<R>,
Perform read-only operation with shared lock (allows multiple concurrent readers)