pub trait UnblockCallback<'tcx>: VisitProvenance {
// Required methods
fn unblock(
self: Box<Self>,
ecx: &mut InterpCx<'tcx, MiriMachine<'tcx>>,
) -> InterpResult<'tcx>;
fn timeout(
self: Box<Self>,
_ecx: &mut InterpCx<'tcx, MiriMachine<'tcx>>,
) -> InterpResult<'tcx>;
}
Expand description
Trait for callbacks that are executed when a thread gets unblocked.
Required Methods§
sourcefn unblock(
self: Box<Self>,
ecx: &mut InterpCx<'tcx, MiriMachine<'tcx>>,
) -> InterpResult<'tcx>
fn unblock( self: Box<Self>, ecx: &mut InterpCx<'tcx, MiriMachine<'tcx>>, ) -> InterpResult<'tcx>
Will be invoked when the thread was unblocked the “regular” way, i.e. whatever event it was blocking on has happened.
sourcefn timeout(
self: Box<Self>,
_ecx: &mut InterpCx<'tcx, MiriMachine<'tcx>>,
) -> InterpResult<'tcx>
fn timeout( self: Box<Self>, _ecx: &mut InterpCx<'tcx, MiriMachine<'tcx>>, ) -> InterpResult<'tcx>
Will be invoked when the timeout ellapsed without the event the thread was blocking on having occurred.