INNER CODE UNIT · Rust
claim
jub0t/Concat · src/crates/concat-api/src/lib.rs:109
pub fn claim(&self, path: &str, holder: Holder) -> Result<(), Holder> {
let key = key_of(path);
let mut open = self
.0
.lock()
.unwrap_or_else(|poisoned| poisoned.into_inner());
match open.get(&key) {
Some(&other) if other != holder => Err(other),
_ => {
open.insert(key, holder);
Ok(())
}
}
}
/// Gives `path` back, whoever had it.
pub fn release(&self, path: &str) {
let key = key_of(path);