Browse Source

fix(cli): deadlock regression from #7802 (#7948)

Lucas Fernandes Nogueira 1 year ago
parent
commit
d735324df0
2 changed files with 10 additions and 4 deletions
  1. 3 2
      tooling/cli/Cargo.lock
  2. 7 2
      tooling/cli/src/helpers/config.rs

+ 3 - 2
tooling/cli/Cargo.lock

@@ -2142,9 +2142,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 dependencies = [
  "value-bag",
 ]
@@ -4112,6 +4112,7 @@ dependencies = [
  "json-patch",
  "json5",
  "kuchikiki",
+ "log",
  "memchr",
  "phf 0.10.1",
  "schemars",

+ 7 - 2
tooling/cli/src/helpers/config.rs

@@ -205,8 +205,13 @@ pub fn get(target: Target, merge_config: Option<&str>) -> crate::Result<ConfigHa
 }
 
 pub fn reload(merge_config: Option<&str>) -> crate::Result<ConfigHandle> {
-  if let Some(conf) = &*config_handle().lock().unwrap() {
-    get_internal(merge_config, true, conf.target)
+  let target = config_handle()
+    .lock()
+    .unwrap()
+    .as_ref()
+    .map(|conf| conf.target);
+  if let Some(target) = target {
+    get_internal(merge_config, true, target)
   } else {
     Err(anyhow::anyhow!("config not loaded"))
   }