@@ -233,9 +233,9 @@ impl HypervisorHandler {
233233        sandbox_memory_manager :  SandboxMemoryManager < GuestSharedMemory > , 
234234    )  -> Result < ( ) >  { 
235235        let  configuration = self . configuration . clone ( ) ; 
236-         let  sandbox_memory_manager = Arc :: new ( Mutex :: new ( sandbox_memory_manager) ) ; 
237236        #[ cfg( target_os = "windows" ) ]  
238-         let  in_process = sandbox_memory_manager. lock ( ) . unwrap ( ) . is_in_process ( ) ; 
237+         let  in_process = sandbox_memory_manager. is_in_process ( ) ; 
238+         let  sandbox_memory_manager = Arc :: new ( Mutex :: new ( sandbox_memory_manager) ) ; 
239239
240240        * self . execution_variables . shm . try_lock ( ) . unwrap ( )  = Some ( sandbox_memory_manager) ; 
241241
@@ -850,10 +850,12 @@ fn set_up_hypervisor_partition(
850850
851851            #[ cfg( target_os = "windows" ) ]  
852852            Some ( HypervisorType :: Whp )  => { 
853+                 let  mgr_lock = mgr. lock ( ) . unwrap ( ) ; 
854+ 
853855                let  hv = crate :: hypervisor:: hyperv_windows:: HypervWindowsDriver :: new ( 
854856                    regions, 
855-                     mgr . lock ( ) . unwrap ( ) . shared_mem . raw_mem_size ( ) ,  // we use raw_* here because windows driver requires 64K aligned addresses, 
856-                     mgr . lock ( ) . unwrap ( ) . shared_mem . raw_ptr ( )  as  * mut  c_void ,  // and instead convert it to base_addr where needed in the driver itself 
857+                     mgr_lock . shared_mem . raw_mem_size ( ) ,  // we use raw_* here because windows driver requires 64K aligned addresses, 
858+                     mgr_lock . shared_mem . raw_ptr ( )  as  * mut  c_void ,  // and instead convert it to base_addr where needed in the driver itself 
857859                    pml4_ptr. absolute ( ) ?, 
858860                    entrypoint_ptr. absolute ( ) ?, 
859861                    rsp_ptr. absolute ( ) ?, 
0 commit comments