@@ -18,7 +18,7 @@ use rust_i18n::t;
1818use semver:: { Version , VersionReq } ;
1919use schemars:: JsonSchema ;
2020use serde:: { Deserialize , Serialize } ;
21- use std:: { collections:: { BTreeMap , HashMap , HashSet } , sync:: { LazyLock , Mutex } } ;
21+ use std:: { collections:: { BTreeMap , HashMap , HashSet } , sync:: { LazyLock , RwLock } } ;
2222use std:: env;
2323use std:: ffi:: OsStr ;
2424use std:: fs;
@@ -34,10 +34,10 @@ const DSC_RESOURCE_EXTENSIONS: [&str; 3] = [".dsc.resource.json", ".dsc.resource
3434const DSC_EXTENSION_EXTENSIONS : [ & str ; 3 ] = [ ".dsc.extension.json" , ".dsc.extension.yaml" , ".dsc.extension.yml" ] ;
3535
3636// use BTreeMap so that the results are sorted by the typename, the Vec is sorted by version
37- static ADAPTERS : LazyLock < Mutex < BTreeMap < String , Vec < DscResource > > > > = LazyLock :: new ( || Mutex :: new ( BTreeMap :: new ( ) ) ) ;
38- static RESOURCES : LazyLock < Mutex < BTreeMap < String , Vec < DscResource > > > > = LazyLock :: new ( || Mutex :: new ( BTreeMap :: new ( ) ) ) ;
39- static EXTENSIONS : LazyLock < Mutex < BTreeMap < String , DscExtension > > > = LazyLock :: new ( || Mutex :: new ( BTreeMap :: new ( ) ) ) ;
40- static ADAPTED_RESOURCES : LazyLock < Mutex < BTreeMap < String , Vec < DscResource > > > > = LazyLock :: new ( || Mutex :: new ( BTreeMap :: new ( ) ) ) ;
37+ static ADAPTERS : LazyLock < RwLock < BTreeMap < String , Vec < DscResource > > > > = LazyLock :: new ( || RwLock :: new ( BTreeMap :: new ( ) ) ) ;
38+ static RESOURCES : LazyLock < RwLock < BTreeMap < String , Vec < DscResource > > > > = LazyLock :: new ( || RwLock :: new ( BTreeMap :: new ( ) ) ) ;
39+ static EXTENSIONS : LazyLock < RwLock < BTreeMap < String , DscExtension > > > = LazyLock :: new ( || RwLock :: new ( BTreeMap :: new ( ) ) ) ;
40+ static ADAPTED_RESOURCES : LazyLock < RwLock < BTreeMap < String , Vec < DscResource > > > > = LazyLock :: new ( || RwLock :: new ( BTreeMap :: new ( ) ) ) ;
4141
4242#[ derive( Clone , Serialize , Deserialize , JsonSchema ) ]
4343pub enum ImportedManifest {
0 commit comments