include sig ... end
val events : Async_kernel__Scheduler0.t -> Async_kernel__Types.Job_or_event.t Timing_wheel.tmodule Synchronous_time_source : sig ... endmodule Event = Synchronous_time_source.Eventmodule Alarm = Timing_wheel.Alarmmodule Job_or_event = Synchronous_time_source.T1.Job_or_eventmodule Ivar : sig ... endmodule Bvar : sig ... endmodule Very_low_priority_worker : sig ... endtype t = {mutable check_access : (unit -> unit) option; | 
mutable job_pool : (Execution_context.t, Stdlib.Obj.t -> unit, Stdlib.Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t; | 
normal_priority_jobs : Async_kernel__Types.Job_queue.t; | 
low_priority_jobs : Async_kernel__Types.Job_queue.t; | 
very_low_priority_workers : Very_low_priority_worker.t Core_kernel.Deque.t; | 
mutable main_execution_context : Execution_context.t; | 
mutable current_execution_context : Execution_context.t; | 
mutable uncaught_exn : (Core_kernel.Exn.t * Core_kernel.Sexp.t) option; | 
mutable cycle_count : int; | 
mutable cycle_start : Core_kernel.Int63.t; | 
mutable in_cycle : bool; | 
mutable run_every_cycle_start : (unit -> unit) list; | 
mutable last_cycle_time : Core_kernel.Int63.t; | 
mutable last_cycle_num_jobs : int; | 
mutable total_cycle_time : Core_kernel.Int63.t; | 
mutable time_source : Core_kernel.read_write Synchronous_time_source.T1.t; | 
external_jobs : Async_kernel__Types.External_job.t Thread_safe_queue.t; | 
mutable thread_safe_external_job_hook : unit -> unit; | 
mutable job_queued_hook : (Priority.t -> unit) option; | 
mutable event_added_hook : (Core_kernel.Int63.t -> unit) option; | 
mutable yield : (unit, Core_kernel.read_write) Async_kernel__Types.Bvar.t; | 
mutable yield_until_no_jobs_remain : (unit, Core_kernel.read_write) Async_kernel__Types.Bvar.t; | 
mutable check_invariants : bool; | 
mutable max_num_jobs_per_priority_per_cycle : Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t; | 
mutable record_backtraces : bool; | 
mutable on_start_of_cycle : unit -> unit; | 
mutable on_end_of_cycle : unit -> unit; | 
}val on_end_of_cycle : t -> unit -> unitval set_on_end_of_cycle : t -> (unit -> unit) -> unitval on_start_of_cycle : t -> unit -> unitval set_on_start_of_cycle : t -> (unit -> unit) -> unitval record_backtraces : t -> boolval set_record_backtraces : t -> bool -> unitval max_num_jobs_per_priority_per_cycle : t -> Async_kernel_config.Max_num_jobs_per_priority_per_cycle.tval set_max_num_jobs_per_priority_per_cycle : t -> Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t -> unitval check_invariants : t -> boolval set_check_invariants : t -> bool -> unitval yield_until_no_jobs_remain : t -> (unit, Core_kernel.read_write) Async_kernel__Types.Bvar.tval set_yield_until_no_jobs_remain : t -> (unit, Core_kernel.read_write) Async_kernel__Types.Bvar.t -> unitval yield : t -> (unit, Core_kernel.read_write) Async_kernel__Types.Bvar.tval set_yield : t -> (unit, Core_kernel.read_write) Async_kernel__Types.Bvar.t -> unitval event_added_hook : t -> (Core_kernel.Int63.t -> unit) optionval set_event_added_hook : t -> (Core_kernel.Int63.t -> unit) option -> unitval job_queued_hook : t -> (Priority.t -> unit) optionval set_job_queued_hook : t -> (Priority.t -> unit) option -> unitval thread_safe_external_job_hook : t -> unit -> unitval set_thread_safe_external_job_hook : t -> (unit -> unit) -> unitval external_jobs : t -> Async_kernel__Types.External_job.t Thread_safe_queue.tval time_source : t -> Core_kernel.read_write Synchronous_time_source.T1.tval set_time_source : t -> Core_kernel.read_write Synchronous_time_source.T1.t -> unitval total_cycle_time : t -> Core_kernel.Int63.tval set_total_cycle_time : t -> Core_kernel.Int63.t -> unitval last_cycle_num_jobs : t -> intval set_last_cycle_num_jobs : t -> int -> unitval last_cycle_time : t -> Core_kernel.Int63.tval set_last_cycle_time : t -> Core_kernel.Int63.t -> unitval run_every_cycle_start : t -> (unit -> unit) listval set_run_every_cycle_start : t -> (unit -> unit) list -> unitval in_cycle : t -> boolval set_in_cycle : t -> bool -> unitval cycle_start : t -> Core_kernel.Int63.tval set_cycle_start : t -> Core_kernel.Int63.t -> unitval cycle_count : t -> intval set_cycle_count : t -> int -> unitval uncaught_exn : t -> (Core_kernel.Exn.t * Core_kernel.Sexp.t) optionval set_uncaught_exn : t -> (Core_kernel.Exn.t * Core_kernel.Sexp.t) option -> unitval current_execution_context : t -> Execution_context.tval set_current_execution_context : t -> Execution_context.t -> unitval main_execution_context : t -> Execution_context.tval set_main_execution_context : t -> Execution_context.t -> unitval very_low_priority_workers : t -> Very_low_priority_worker.t Core_kernel.Deque.tval low_priority_jobs : t -> Async_kernel__Types.Job_queue.tval normal_priority_jobs : t -> Async_kernel__Types.Job_queue.tval job_pool : t -> (Execution_context.t, Stdlib.Obj.t -> unit, Stdlib.Obj.t) Tuple_pool.Slots.t3 Tuple_pool.tval set_job_pool : t -> (Execution_context.t, Stdlib.Obj.t -> unit, Stdlib.Obj.t) Tuple_pool.Slots.t3 Tuple_pool.t -> unitval check_access : t -> (unit -> unit) optionval set_check_access : t -> (unit -> unit) option -> unitmodule Fields : sig ... endval sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.tval uncaught_exn_unwrapped : t -> (Core_kernel.Exn.t * Core_kernel.Sexp.t) optionval uncaught_exn : t -> Core_kernel.Error.t optionval num_pending_jobs : t -> intval num_jobs_run : t -> intval invariant : t -> unitval free_job : t -> (Execution_context.t, Stdlib.Obj.t -> unit, Stdlib.Obj.t) Tuple_pool.Slots.t3 Tuple_pool.Pointer.t -> unitval enqueue : t -> Execution_context.t -> ('a -> unit) -> 'a -> unitval enqueue_job : t -> (Execution_context.t * (Stdlib.Obj.t -> unit) * Stdlib.Obj.t, [ `S0 of Execution_context.t | `S1 of Stdlib.Obj.t -> unit | `S2 of Stdlib.Obj.t ]) Tuple_pool.Slots.t Tuple_pool.Pointer.t -> free_job:bool -> unitval handle_fired : 'a Synchronous_time_source.T1.t -> Async_kernel__Types.Job_or_event.t -> unitval create : unit -> tval is_dead : t -> boolval set_check_access : t -> (unit -> unit) option -> unitval t_ref : t Core_kernel.refval check_access : t -> unitval t : unit -> tval current_execution_context : t -> Execution_context.tval with_execution_context : t -> Async_kernel__Types.Execution_context.t -> f:(unit -> 'a) -> 'aval create_job : t -> Execution_context.t -> ('a -> unit) -> 'a -> (Execution_context.t, Stdlib.Obj.t -> unit, Stdlib.Obj.t) Tuple_pool.Slots.t3 Tuple_pool.Pointer.tval got_uncaught_exn : t -> Core_kernel.Exn.t -> Core_kernel.Sexp.t -> unitval start_cycle : t -> max_num_jobs_per_priority:Async_kernel_config.Max_num_jobs_per_priority_per_cycle.t -> unitval run_jobs : t -> (unit, exn * Core_kernel.Backtrace.t) Core_kernel._resultval stabilize : t -> (unit, exn) Core_kernel._resultval create_time_source : ?timing_wheel_config:Timing_wheel.Config.t -> now:Core_kernel.Time_ns.t -> unit -> 'a Synchronous_time_source.T1.tval wall_clock : unit -> Synchronous_time_source.t