Module Async_kernel.Async_kernel_config
Settings that globally affect the behavior of Async.
These can be set by setting an environment variable, ASYNC_CONFIG
, to a sexp representation of the config. Also, setting ASYNC_CONFIG
to an invalid sexp (e.g. the empty string), will cause your program to print to stderr a usage message describing how to configure ASYNC_CONFIG
, and exit nonzero. For example, the following shell command should print the usage message:
ASYNC_CONFIG= foo.exe
module Epoll_max_ready_events : Core_kernel.Validated.S with type raw := int
module Max_inter_cycle_timeout : Core_kernel.Validated.S with type raw := Core_kernel.Time_ns.Span.t
module Min_inter_cycle_timeout : Core_kernel.Validated.S with type raw := Core_kernel.Time_ns.Span.t
module Max_num_threads : Core_kernel.Validated.S with type raw := int
module Max_num_jobs_per_priority_per_cycle : Core_kernel.Validated.S with type raw := int
module Max_num_open_file_descrs : sig ... end
module Dump_core_on_job_delay : sig ... end
module Debug_tag : sig ... end
module File_descr_watcher : sig ... end
type t
=
{
abort_after_thread_pool_stuck_for : Core_kernel.Time_ns.Span.t option;
check_invariants : bool option;
detect_invalid_access_from_thread : bool option;
dump_core_on_job_delay : Dump_core_on_job_delay.t option;
epoll_max_ready_events : Epoll_max_ready_events.t option;
file_descr_watcher : File_descr_watcher.t option;
max_inter_cycle_timeout : Max_inter_cycle_timeout.t option;
max_num_open_file_descrs : Max_num_open_file_descrs.t option;
max_num_threads : Max_num_threads.t option;
max_num_jobs_per_priority_per_cycle : Max_num_jobs_per_priority_per_cycle.t option;
min_inter_cycle_timeout : Min_inter_cycle_timeout.t option;
print_debug_messages_for : Debug_tag.t list option;
record_backtraces : bool option;
report_thread_pool_stuck_for : Core_kernel.Time_ns.Span.t option;
thread_pool_cpu_affinity : Thread_pool_cpu_affinity.t option;
timing_wheel_config : Timing_wheel.Config.t option;
}
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val t : t
val environment_variable : string
module Print_debug_messages_for : sig ... end
val abort_after_thread_pool_stuck_for : Core_kernel.Time_ns.Span.t
Documentation on these is in strings in config.ml, so it can be output in the help message.
val check_invariants : bool
val detect_invalid_access_from_thread : bool
val dump_core_on_job_delay : Dump_core_on_job_delay.t
val thread_pool_cpu_affinity : Thread_pool_cpu_affinity.t
val epoll_max_ready_events : Epoll_max_ready_events.t
val file_descr_watcher : File_descr_watcher.t
val max_inter_cycle_timeout : Max_inter_cycle_timeout.t
val max_num_jobs_per_priority_per_cycle : Max_num_jobs_per_priority_per_cycle.t
val max_num_open_file_descrs : Max_num_open_file_descrs.t
val max_num_threads : Max_num_threads.t
val min_inter_cycle_timeout : Min_inter_cycle_timeout.t
val record_backtraces : bool
val report_thread_pool_stuck_for : Core_kernel.Time_ns.Span.t
val timing_wheel_config : Timing_wheel.Config.t
val default_timing_wheel_config_for_word_size : Core_kernel.Word_size.t -> Timing_wheel.Config.t
val task_id : (unit -> Core_kernel.Sexp.t) Core_kernel.ref
!task_id
is used in debug messages. It is is set inAsync_unix
to include the thread and pid.