sig
val __pa_ounit_275876e34cf609db118f3d84b799a790 : string
module Monitor :
sig
val __pa_ounit_275876e34cf609db118f3d84b799a790 : string
type 'execution_context t_ =
'execution_context Raw_monitor.t_ = {
name : Core.Std.Info.t;
here : Core.Std.Source_code_position.t option;
id : int;
parent : 'execution_context t_ option;
errors : (exn, 'execution_context) Raw_tail.t;
mutable has_seen_error : bool;
mutable someone_is_listening : bool;
mutable kill_index : Kill_index.t;
}
val kill_index : 'a t_ -> Kill_index.t
val set_kill_index : 'a t_ -> Kill_index.t -> unit
val someone_is_listening : 'a t_ -> bool
val set_someone_is_listening : 'a t_ -> bool -> unit
val has_seen_error : 'a t_ -> bool
val set_has_seen_error : 'a t_ -> bool -> unit
val errors : 'a t_ -> (exn, 'a) Raw_tail.t
val parent : 'a t_ -> 'a t_ option
val id : 'a t_ -> int
val here : 'a t_ -> Core.Std.Source_code_position.t option
val name : 'a t_ -> Core.Std.Info.t
module Fields_of_t_ :
sig
val kill_index :
([< `Read | `Set_and_create ], 'a t_, Kill_index.t)
Fieldslib.Field.t_with_perm
val someone_is_listening :
([< `Read | `Set_and_create ], 'a t_, bool)
Fieldslib.Field.t_with_perm
val has_seen_error :
([< `Read | `Set_and_create ], 'a t_, bool)
Fieldslib.Field.t_with_perm
val errors :
([< `Read | `Set_and_create ], 'execution_context t_,
(exn, 'execution_context) Raw_tail.t)
Fieldslib.Field.t_with_perm
val parent :
([< `Read | `Set_and_create ], 'execution_context t_,
'execution_context t_ option)
Fieldslib.Field.t_with_perm
val id :
([< `Read | `Set_and_create ], 'a t_, int)
Fieldslib.Field.t_with_perm
val here :
([< `Read | `Set_and_create ], 'a t_,
Core.Std.Source_code_position.t option)
Fieldslib.Field.t_with_perm
val name :
([< `Read | `Set_and_create ], 'a t_, Core.Std.Info.t)
Fieldslib.Field.t_with_perm
end
module Pretty :
sig
type one =
Raw_monitor.Pretty.one = {
name : Core.Std.Info.t;
here : Core.Std.Source_code_position.t option;
id : int;
has_seen_error : bool;
someone_is_listening : bool;
kill_index : Kill_index.t;
}
val sexp_of_one : one -> Sexplib.Sexp.t
type t = one list
val sexp_of_t : one list -> Sexplib.Sexp.t
end
val to_pretty : 'a t_ -> Pretty.one Core.Std.List.t
val sexp_of_t_ : 'a -> 'b t_ -> Sexplib.Sexp.t
exception Shutdown
val update_kill_index : 'a t_ -> global_kill_index:Kill_index.t -> unit
end
type t =
Execution_context.t = {
work_group : Work_group.t Backpatched.t;
monitor : t Monitor.t_ Backpatched.t;
priority : Priority.t;
backtrace_history : Core.Std.Backtrace.t list;
mutable kill_index : Kill_index.t;
}
val sexp_of_t : t -> Sexplib.Sexp.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 priority : t -> Priority.t
module Fields :
sig
val names : string list
val kill_index :
([< `Read | `Set_and_create ], t, Kill_index.t)
Fieldslib.Field.t_with_perm
val backtrace_history :
([< `Read | `Set_and_create ], t, Core.Std.Backtrace.t list)
Fieldslib.Field.t_with_perm
val priority :
([< `Read | `Set_and_create ], t, Priority.t)
Fieldslib.Field.t_with_perm
val monitor :
([< `Read | `Set_and_create ], t, t Monitor.t_ Backpatched.t)
Fieldslib.Field.t_with_perm
val work_group :
([< `Read | `Set_and_create ], t, Work_group.t Backpatched.t)
Fieldslib.Field.t_with_perm
val make_creator :
work_group:(([< `Read | `Set_and_create ], t,
Work_group.t Backpatched.t)
Fieldslib.Field.t_with_perm ->
'a -> ('b -> Work_group.t Backpatched.t) * 'c) ->
monitor:(([< `Read | `Set_and_create ], t,
t Monitor.t_ Backpatched.t)
Fieldslib.Field.t_with_perm ->
'c -> ('b -> t Monitor.t_ Backpatched.t) * 'd) ->
priority:(([< `Read | `Set_and_create ], t, Priority.t)
Fieldslib.Field.t_with_perm ->
'd -> ('b -> Priority.t) * 'e) ->
backtrace_history:(([< `Read | `Set_and_create ], t,
Core.Std.Backtrace.t list)
Fieldslib.Field.t_with_perm ->
'e -> ('b -> Core.Std.Backtrace.t list) * 'f) ->
kill_index:(([< `Read | `Set_and_create ], t, Kill_index.t)
Fieldslib.Field.t_with_perm ->
'f -> ('b -> Kill_index.t) * 'g) ->
'a -> ('b -> t) * 'g
val create :
work_group:Work_group.t Backpatched.t ->
monitor:t Monitor.t_ Backpatched.t ->
priority:Priority.t ->
backtrace_history:Core.Std.Backtrace.t list ->
kill_index:Kill_index.t -> t
val map :
work_group:(([< `Read | `Set_and_create ], t,
Work_group.t Backpatched.t)
Fieldslib.Field.t_with_perm -> Work_group.t Backpatched.t) ->
monitor:(([< `Read | `Set_and_create ], t,
t Monitor.t_ Backpatched.t)
Fieldslib.Field.t_with_perm -> t Monitor.t_ Backpatched.t) ->
priority:(([< `Read | `Set_and_create ], t, Priority.t)
Fieldslib.Field.t_with_perm -> Priority.t) ->
backtrace_history:(([< `Read | `Set_and_create ], t,
Core.Std.Backtrace.t list)
Fieldslib.Field.t_with_perm ->
Core.Std.Backtrace.t list) ->
kill_index:(([< `Read | `Set_and_create ], t, Kill_index.t)
Fieldslib.Field.t_with_perm -> Kill_index.t) ->
t
val iter :
work_group:(([< `Read | `Set_and_create ], t,
Work_group.t Backpatched.t)
Fieldslib.Field.t_with_perm -> 'a) ->
monitor:(([< `Read | `Set_and_create ], t,
t Monitor.t_ Backpatched.t)
Fieldslib.Field.t_with_perm -> 'b) ->
priority:(([< `Read | `Set_and_create ], t, Priority.t)
Fieldslib.Field.t_with_perm -> 'c) ->
backtrace_history:(([< `Read | `Set_and_create ], t,
Core.Std.Backtrace.t list)
Fieldslib.Field.t_with_perm -> 'd) ->
kill_index:(([< `Read | `Set_and_create ], t, Kill_index.t)
Fieldslib.Field.t_with_perm -> 'e) ->
'e
val fold :
init:'a ->
work_group:('a ->
([< `Read | `Set_and_create ], t,
Work_group.t Backpatched.t)
Fieldslib.Field.t_with_perm -> 'b) ->
monitor:('b ->
([< `Read | `Set_and_create ], t,
t Monitor.t_ Backpatched.t)
Fieldslib.Field.t_with_perm -> 'c) ->
priority:('c ->
([< `Read | `Set_and_create ], t, Priority.t)
Fieldslib.Field.t_with_perm -> 'd) ->
backtrace_history:('d ->
([< `Read | `Set_and_create ], t,
Core.Std.Backtrace.t list)
Fieldslib.Field.t_with_perm -> 'e) ->
kill_index:('e ->
([< `Read | `Set_and_create ], t, Kill_index.t)
Fieldslib.Field.t_with_perm -> 'f) ->
'f
val map_poly :
([< `Read | `Set_and_create ], t, 'a) Fieldslib.Field.user -> 'a list
val for_all :
work_group:(([< `Read | `Set_and_create ], t,
Work_group.t Backpatched.t)
Fieldslib.Field.t_with_perm -> bool) ->
monitor:(([< `Read | `Set_and_create ], t,
t Monitor.t_ Backpatched.t)
Fieldslib.Field.t_with_perm -> bool) ->
priority:(([< `Read | `Set_and_create ], t, Priority.t)
Fieldslib.Field.t_with_perm -> bool) ->
backtrace_history:(([< `Read | `Set_and_create ], t,
Core.Std.Backtrace.t list)
Fieldslib.Field.t_with_perm -> bool) ->
kill_index:(([< `Read | `Set_and_create ], t, Kill_index.t)
Fieldslib.Field.t_with_perm -> bool) ->
bool
val exists :
work_group:(([< `Read | `Set_and_create ], t,
Work_group.t Backpatched.t)
Fieldslib.Field.t_with_perm -> bool) ->
monitor:(([< `Read | `Set_and_create ], t,
t Monitor.t_ Backpatched.t)
Fieldslib.Field.t_with_perm -> bool) ->
priority:(([< `Read | `Set_and_create ], t, Priority.t)
Fieldslib.Field.t_with_perm -> bool) ->
backtrace_history:(([< `Read | `Set_and_create ], t,
Core.Std.Backtrace.t list)
Fieldslib.Field.t_with_perm -> bool) ->
kill_index:(([< `Read | `Set_and_create ], t, Kill_index.t)
Fieldslib.Field.t_with_perm -> bool) ->
bool
val to_list :
work_group:(([< `Read | `Set_and_create ], t,
Work_group.t Backpatched.t)
Fieldslib.Field.t_with_perm -> 'a) ->
monitor:(([< `Read | `Set_and_create ], t,
t Monitor.t_ Backpatched.t)
Fieldslib.Field.t_with_perm -> 'a) ->
priority:(([< `Read | `Set_and_create ], t, Priority.t)
Fieldslib.Field.t_with_perm -> 'a) ->
backtrace_history:(([< `Read | `Set_and_create ], t,
Core.Std.Backtrace.t list)
Fieldslib.Field.t_with_perm -> 'a) ->
kill_index:(([< `Read | `Set_and_create ], t, Kill_index.t)
Fieldslib.Field.t_with_perm -> 'a) ->
'a list
module Direct :
sig
val iter :
t ->
work_group:(([< `Read | `Set_and_create ], t,
Work_group.t Backpatched.t)
Fieldslib.Field.t_with_perm ->
t -> Work_group.t Backpatched.t -> 'a) ->
monitor:(([< `Read | `Set_and_create ], t,
t Monitor.t_ Backpatched.t)
Fieldslib.Field.t_with_perm ->
t -> t Monitor.t_ Backpatched.t -> 'b) ->
priority:(([< `Read | `Set_and_create ], t, Priority.t)
Fieldslib.Field.t_with_perm -> t -> Priority.t -> 'c) ->
backtrace_history:(([< `Read | `Set_and_create ], t,
Core.Std.Backtrace.t list)
Fieldslib.Field.t_with_perm ->
t -> Core.Std.Backtrace.t list -> 'd) ->
kill_index:(([< `Read | `Set_and_create ], t, Kill_index.t)
Fieldslib.Field.t_with_perm ->
t -> Kill_index.t -> 'e) ->
'e
val fold :
t ->
init:'a ->
work_group:('a ->
([< `Read | `Set_and_create ], t,
Work_group.t Backpatched.t)
Fieldslib.Field.t_with_perm ->
t -> Work_group.t Backpatched.t -> 'b) ->
monitor:('b ->
([< `Read | `Set_and_create ], t,
t Monitor.t_ Backpatched.t)
Fieldslib.Field.t_with_perm ->
t -> t Monitor.t_ Backpatched.t -> 'c) ->
priority:('c ->
([< `Read | `Set_and_create ], t, Priority.t)
Fieldslib.Field.t_with_perm -> t -> Priority.t -> 'd) ->
backtrace_history:('d ->
([< `Read | `Set_and_create ], t,
Core.Std.Backtrace.t list)
Fieldslib.Field.t_with_perm ->
t -> Core.Std.Backtrace.t list -> 'e) ->
kill_index:('e ->
([< `Read | `Set_and_create ], t, Kill_index.t)
Fieldslib.Field.t_with_perm ->
t -> Kill_index.t -> 'f) ->
'f
end
end
val invariant : t -> unit
val main_work_group_hole : Work_group.t Backpatched.Hole.t
val main_monitor_hole : t Monitor.t_ Backpatched.Hole.t
val main : t
val work_group : t -> Work_group.t
val monitor : t -> t Monitor.t_
val create_like :
?work_group:Work_group.t ->
?monitor:t Monitor.t_ -> ?priority:Priority.t -> t -> t
val record_backtrace : t -> t
end