Skip to main content

Module scheduler

Module scheduler 

Source
Expand description

This file contains Miri’s scheduler, which is in charge of picking the next thread to run when the current thread blocks/yields. It also manages timeouts and runs an async event loop to deal with host I/O. In GenMC mode, it handles delegating schedule control to GenMC.

Re-exportsΒ§

use std::cell::RefCell; πŸ”’
use std::fmt; πŸ”’
use std::sync::atomic::Ordering; πŸ”’
use std::task::Poll; πŸ”’
use std::time::Duration; πŸ”’
use rand::seq::IteratorRandom; πŸ”’
use rustc_const_eval::CTRL_C_RECEIVED; πŸ”’
use rustc_index::Idx; πŸ”’
use rustc_span::DUMMY_SP; πŸ”’
use crate::*; πŸ”’

StructsΒ§

DelayedCallbacks
When we need to perform an operation but don’t have an ecx around to run it immediately, we can register a callback here and it will be invoked on the next scheduler call.

EnumsΒ§

SchedulingAction πŸ”’

TraitsΒ§

EvalContextExt
EvalContextPrivExt πŸ”’

Type AliasesΒ§

DelayedCallback