Up

Module Scheduler0

Signature

include Types.Scheduler
type t = {
mutable check_access
: (unit -> unit) option ;
mutable job_pool
: Types.Job_pool.t ;
normal_priority_jobs
: Types.Job_queue.t ;
low_priority_jobs
: Types.Job_queue.t ;
mutable main_execution_context
: Types.Execution_context.t ;
mutable current_execution_context
: Types.Execution_context.t ;
mutable uncaught_exn
: (Core_kernel.Std.Exn.t * Core_kernel.Std.Sexp.t) option ;
mutable cycle_count
: int ;
mutable cycle_start
: Import.Time_ns.t ;
mutable run_every_cycle_start
: (unit -> unit) list ;
mutable last_cycle_time
: Import.Time_ns.Span.t ;
mutable last_cycle_num_jobs
: int ;
mutable time_source
: Core_kernel.Std.read_write Types.Time_source.t1 ;
external_jobs
: Types.External_job.t Core_kernel.Std.Thread_safe_queue.t ;
mutable thread_safe_external_job_hook
: unit -> unit ;
mutable job_queued_hook
: (Priority.t -> unit) option ;
mutable event_added_hook
: (Import.Time_ns.t -> unit) option ;
mutable yield_ivar
: unit Types.Ivar.t option ;
mutable check_invariants
: bool ;
mutable max_num_jobs_per_priority_per_cycle
: Import.Max_num_jobs_per_priority_per_cycle.t ;
mutable record_backtraces
: bool ;
}
val set_execution_context : t -> Types.Execution_context.t -> unit