From 4df5dafcedb8fe99ebce59b5f1cbc7796af5fd5c Mon Sep 17 00:00:00 2001 From: Gary Guo Date: Sun, 10 Oct 2021 06:24:03 +0100 Subject: [PATCH] Switch back to HCS method and use reg method as backup --- server/src/vmcompute.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/src/vmcompute.rs b/server/src/vmcompute.rs index 243b29b..eaf4235 100644 --- a/server/src/vmcompute.rs +++ b/server/src/vmcompute.rs @@ -84,6 +84,7 @@ fn get_wsl_vmid_by_hcs() -> std::io::Result> { Ok(None) } +// This is unreliable, so only use this as a backup method. pub fn get_wsl_vmid_by_reg() -> std::io::Result> { let list = winreg::RegKey::predef(winreg::enums::HKEY_LOCAL_MACHINE) .open_subkey(r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\HostComputeService\VolatileStore\ComputeSystem")?; @@ -104,5 +105,10 @@ pub fn get_wsl_vmid_by_reg() -> std::io::Result> { } pub fn get_wsl_vmid() -> std::io::Result> { + match get_wsl_vmid_by_hcs() { + Ok(v) => return Ok(v), + Err(err) if err.kind() == std::io::ErrorKind::PermissionDenied => (), + Err(err) => return Err(err), + } get_wsl_vmid_by_reg() }