Parcourir la source

fix: potential keyset lock race condition (#146)

David Caseria il y a 9 mois
Parent
commit
d8fabf6ddd
1 fichiers modifiés avec 2 ajouts et 1 suppressions
  1. 2 1
      crates/cdk/src/mint.rs

+ 2 - 1
crates/cdk/src/mint.rs

@@ -763,14 +763,15 @@ impl Mint {
         if keysets.contains_key(id) {
             return Ok(());
         }
+        drop(keysets);
 
-        let mut keysets = self.keysets.write().await;
         let keyset_info = self
             .localstore
             .get_keyset_info(id)
             .await?
             .ok_or(Error::UnknownKeySet)?;
         let id = keyset_info.id;
+        let mut keysets = self.keysets.write().await;
         keysets.insert(id, self.generate_keyset(keyset_info));
         Ok(())
     }