Struct miri::concurrency::thread::TimeoutCallbackInfo
source · struct TimeoutCallbackInfo<'mir, 'tcx> {
call_time: Time,
callback: Box<dyn FnOnce(&mut InterpCx<'mir, 'tcx, Evaluator<'mir, 'tcx>>) -> InterpResult<'tcx> + 'tcx>,
}
Expand description
Callbacks are used to implement timeouts. For example, waiting on a conditional variable with a timeout creates a callback that is called after the specified time and unblocks the thread. If another thread signals on the conditional variable, the signal handler deletes the callback.
Fields
call_time: Time
The callback should be called no earlier than this time.
callback: Box<dyn FnOnce(&mut InterpCx<'mir, 'tcx, Evaluator<'mir, 'tcx>>) -> InterpResult<'tcx> + 'tcx>
The called function.
Trait Implementations
Auto Trait Implementations
impl<'mir, 'tcx> !RefUnwindSafe for TimeoutCallbackInfo<'mir, 'tcx>
impl<'mir, 'tcx> !Send for TimeoutCallbackInfo<'mir, 'tcx>
impl<'mir, 'tcx> !Sync for TimeoutCallbackInfo<'mir, 'tcx>
impl<'mir, 'tcx> Unpin for TimeoutCallbackInfo<'mir, 'tcx>
impl<'mir, 'tcx> !UnwindSafe for TimeoutCallbackInfo<'mir, 'tcx>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
fn vzip(self) -> V
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 40 bytes