MCPcopy Create free account
hub / github.com/Starry-OS/StarryOS / get_or_insert

Method get_or_insert

core/src/task.rs:320–331  ·  view source on GitHub ↗
(&mut self, key: usize)

Source from the content-addressed store, hash-verified

318 }
319
320 fn get_or_insert(&mut self, key: usize) -> Arc<FutexTable> {
321 self.operations += 1;
322 if self.operations == 100 {
323 self.operations = 0;
324 self.map
325 .retain(|_, table| Arc::strong_count(table) > 1 || !table.is_empty());
326 }
327 self.map
328 .entry(key)
329 .or_insert_with(|| Arc::new(FutexTable::new()))
330 .clone()
331 }
332}
333
334lazy_static! {

Callers 1

futex_table_forMethod · 0.45

Calls 1

is_emptyMethod · 0.80

Tested by

no test coverage detected