@@ -18,7 +18,7 @@ use rust_i18n::t;
18
18
use semver:: { Version , VersionReq } ;
19
19
use schemars:: JsonSchema ;
20
20
use serde:: { Deserialize , Serialize } ;
21
- use std:: { collections:: { BTreeMap , HashMap , HashSet } , sync:: { LazyLock , Mutex } } ;
21
+ use std:: { collections:: { BTreeMap , HashMap , HashSet } , sync:: { LazyLock , RwLock } } ;
22
22
use std:: env;
23
23
use std:: ffi:: OsStr ;
24
24
use std:: fs;
@@ -34,10 +34,10 @@ const DSC_RESOURCE_EXTENSIONS: [&str; 3] = [".dsc.resource.json", ".dsc.resource
34
34
const DSC_EXTENSION_EXTENSIONS : [ & str ; 3 ] = [ ".dsc.extension.json" , ".dsc.extension.yaml" , ".dsc.extension.yml" ] ;
35
35
36
36
// 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 ( ) ) ) ;
41
41
42
42
#[ derive( Clone , Serialize , Deserialize , JsonSchema ) ]
43
43
pub enum ImportedManifest {
0 commit comments