Module Execution_context

module Execution_context: Execution_context

type t = {
   monitor : Raw_monitor.t;
   priority : Priority.t;
   local_storage : Core.Std.Univ_map.t;
   backtrace_history : Core.Std.Backtrace.t list; (*kill_index is a "cached" copy of monitor's kill_index. This allows the scheduler, when deciding whether to run a job, to do a fast check in the common case that the execution context's kill_index is up to date, i.e. equal to the scheduler's global_kill_index. If it's not, then the scheduler will update the kill_index for itself and monitor (and monitor's ancestors).*)
   mutable kill_index : Kill_index.t;
}
val kill_index : t -> Kill_index.t
val set_kill_index : t -> Kill_index.t -> unit
val backtrace_history : t -> Core.Std.Backtrace.t list
val local_storage : t -> Core.Std.Univ_map.t
val priority : t -> Priority.t
val monitor : t -> Raw_monitor.t
module Fields: sig .. end
include Invariant.S
val main : t
val create_like : ?monitor:Raw_monitor.t ->
?priority:Priority.t ->
?local_storage:Core.Std.Univ_map.t ->
t -> t
val find_local : t -> 'a Core.Std.Univ_map.Key.t -> 'a option
val with_local : t ->
'a Core.Std.Univ_map.Key.t -> 'a option -> t
val record_backtrace : t -> t
val sexp_of_t : t -> Sexplib.Sexp.t