Drop lock (#23765)
This commit is contained in:
parent
dd69f3baf5
commit
f34434f96b
|
@ -129,18 +129,20 @@ impl<SecondaryIndexEntryType: SecondaryIndexEntry + Default + Sync + Send>
|
|||
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
|
||||
.entry(*inner_key)
|
||||
.or_insert(RwLock::new(Vec::with_capacity(1)))
|
||||
.downgrade()
|
||||
});
|
||||
{
|
||||
let outer_keys = self.reverse_index.get(inner_key).unwrap_or_else(|| {
|
||||
self.reverse_index
|
||||
.entry(*inner_key)
|
||||
.or_insert(RwLock::new(Vec::with_capacity(1)))
|
||||
.downgrade()
|
||||
});
|
||||
|
||||
let should_insert = !outer_keys.read().unwrap().contains(key);
|
||||
if should_insert {
|
||||
let mut w_outer_keys = outer_keys.write().unwrap();
|
||||
if !w_outer_keys.contains(key) {
|
||||
w_outer_keys.push(*key);
|
||||
let should_insert = !outer_keys.read().unwrap().contains(key);
|
||||
if should_insert {
|
||||
let mut w_outer_keys = outer_keys.write().unwrap();
|
||||
if !w_outer_keys.contains(key) {
|
||||
w_outer_keys.push(*key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue