/// Unregisters the specified execution state and extracts its
/// system state accessor.
/// This "should" be called after the sandbox has reported
/// completion of execution. It is legal (and possible) to call
/// it before, it will then cause the sandboxed execution to
/// fail eventually. Also, completion of the sandbox execution
/// will not be triggered.
Unregisters the specified execution state and extracts its
system state accessor.
This "should" be called after the sandbox has reported
completion of execution. It is legal (and possible) to call
it before, it will then cause the sandboxed execution to
fail eventually. Also, completion of the sandbox execution
will not be triggered.
Unregisters the specified execution state and extracts its system state accessor . This " should " be called after the sandbox has reported completion of execution . It is legal ( and possible ) to call it before it will then cause the sandboxed execution to fail eventually . Also completion of the sandbox execution will not be triggered .
pub fn unregister_execution(&self, exec_id: ExecId) -> Option<SystemStateAccessorDirect> {
        let mut mut_states = self.states.lock().unwrap();
        loop {
            let maybe_state = mut_states.remove(&exec_id);
            if let Some(state) = maybe_state {
                if let Some(system_state_accessor) = state.system_state_accessor {
                    break Some(system_state_accessor);
                } else {
                    mut_states.insert(exec_id, state);
                    mut_states = self.state_accessor_cond.wait(mut_states).unwrap();
                }
            } else {
                break None;
            }
        }
    }
pub fn unregister_execution ( & self , exec_id : ExecId ) -> Option < SystemStateAccessorDirect > { let mut mut_states = self . states . lock ( ) . unwrap ( ) ; loop { let maybe_state = mut_states . remove ( & exec_id ) ; if let Some ( state ) = maybe_state { if let Some ( system_state_accessor ) = state . system_state_accessor { break Some ( system_state_accessor ) ; } else { mut_states . insert ( exec_id , state ) ; mut_states = self . state_accessor_cond . wait ( mut_states ) . unwrap ( ) ; } } else { break None ; } } }
Unregisters the specified execution state and extracts its
system state accessor.
Unregisters the specified execution state and extracts its system state accessor .
&self
exec_id
ExecId