This commit is contained in:
carllin 2022-03-20 21:27:24 -04:00 committed by GitHub
parent dd69f3baf5
commit f34434f96b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 11 deletions

View File

@ -129,18 +129,20 @@ impl<SecondaryIndexEntryType: SecondaryIndexEntry + Default + Sync + Send>
pubkeys_map.insert_if_not_exists(inner_key, &self.stats.num_inner_keys); pubkeys_map.insert_if_not_exists(inner_key, &self.stats.num_inner_keys);
} }
let outer_keys = self.reverse_index.get(inner_key).unwrap_or_else(|| { {
self.reverse_index let outer_keys = self.reverse_index.get(inner_key).unwrap_or_else(|| {
.entry(*inner_key) self.reverse_index
.or_insert(RwLock::new(Vec::with_capacity(1))) .entry(*inner_key)
.downgrade() .or_insert(RwLock::new(Vec::with_capacity(1)))
}); .downgrade()
});
let should_insert = !outer_keys.read().unwrap().contains(key); let should_insert = !outer_keys.read().unwrap().contains(key);
if should_insert { if should_insert {
let mut w_outer_keys = outer_keys.write().unwrap(); let mut w_outer_keys = outer_keys.write().unwrap();
if !w_outer_keys.contains(key) { if !w_outer_keys.contains(key) {
w_outer_keys.push(*key); w_outer_keys.push(*key);
}
} }
} }