miri::concurrency::thread

Trait UnblockCallback

source
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§

source

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.

source

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.

Implementors§