Module Async_unix

module Async_config = Async_unix__.Config
module Clock : sig ... end
module Dump_core_on_job_delay : sig ... end

Dump core if jobs are delayed, to get additional debug information when running on UNIX systems that support core dumps.

module Fd : sig ... end

An Fd.t is a wrapper around a Unix file descriptor, with additional information about the kind of file descriptor and logic to ensure that we don't use a file descriptor that has been closed, or close a file descriptor that is in use. Since Async uses multiple threads to make read/write and other system calls on file descriptors, and Unix reuses descriptors after they are closed, Async has to be very careful that the file descriptor passed to a system call is referring to the file it intends, and not some other completely unrelated file that Unix has decided to assign to the same descriptor.

module In_thread : sig ... end

The In_thread module has functions for interaction between the Async world and other (kernel) threads. The name is to remind us to think about threads and race conditions.

module Io_stats : sig ... end
module Log : sig ... end

A library for general logging.

module Print = Async_unix__.Async_print
module Process : sig ... end

Async.Process is for creating child processes of the current process, and communicating with children via their stdin, stdout, and stderr. Async.Process is the Async analog of Core.Unix.create_process and related functions.

module Reader : sig ... end

Reader is Async's main API for buffered input from a file descriptor. It is the analog of Core.In_channel.

module Require_explicit_time_source : sig ... end
module Scheduler : sig ... end

Threading model:

module Shutdown : sig ... end
module Signal : sig ... end
module Socket = Async_unix__.Unix_syscalls.Socket
module Sys = Async_unix__.Async_sys
module Thread_safe : sig ... end

The Thread_safe module has functions that are safe to call from threads outside Async.

module Thread_safe_pipe : sig ... end

A thread-safe pipe is a thread-safe interface to the write end of a normal Async.Pipe. All operations except for create must be called from threads outside Async. create can be called from inside or outside Async.

module Writer : sig ... end

Writer is Async's main API for output to a file descriptor. It is the analog of Core.Out_channel.

module Unix : sig ... end
include Async_unix__.Assign_try_with_log_exn

This module is internal to Async. It is included in std.ml so that any code that uses Async_unix does the top-level side effect in this module to assign Async_kernel.Monitor0.try_with_log_exn.

val after : Core.Time.Span.t ‑> unit Async_kernel.Clock_intf.Deferred.t
val at : Core.Time.t ‑> unit Async_kernel.Clock_intf.Deferred.t
val every : ?⁠start:unit Async_kernel.Clock_intf.Deferred.t ‑> ?⁠stop:unit Async_kernel.Clock_intf.Deferred.t ‑> ?⁠continue_on_error:bool ‑> Core.Time.Span.t ‑> (unit ‑> unit) ‑> unit
val with_timeout : Core.Time.Span.t ‑> 'a Async_kernel.Clock_intf.Deferred.t ‑> [ `Result of 'a | `Timeout ] Async_kernel.Clock_intf.Deferred.t
val schedule : ((unit ‑> unit) ‑> unit) Scheduler.with_options
val schedule' : ((unit ‑> 'a Async_unix__.Import.Deferred.t) ‑> 'a Async_unix__.Import.Deferred.t) Scheduler.with_options
val shutdown : ?⁠force:unit Async_unix__.Import.Deferred.t ‑> int ‑> unit
val within : ((unit ‑> unit) ‑> unit) Scheduler.with_options
val within' : ((unit ‑> 'a Async_unix__.Import.Deferred.t) ‑> 'a Async_unix__.Import.Deferred.t) Scheduler.with_options
module Printf : sig ... end
include sig ... end
module Overwrite_ : sig ... end
val close_in_noerr : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val close_in : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val close_out_noerr : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val close_out : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val eprintf : ('a, unit, string, unit) Pervasives.format4 ‑> 'a
val flush_all : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val flush : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val fprintf : Writer.t ‑> ('a, unit, string, unit) Pervasives.format4 ‑> 'a
val ifprintf : 'a ‑> ('b'a'c, unit) Pervasives.format4 ‑> 'b
val in_channel_length : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val input_binary_int : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val input_byte : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val input_char : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val input_line : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val input_lines : ?⁠fix_win_eol:'a ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val input : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val input_value : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val open_in_bin : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val open_in_gen : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val open_in : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val open_out_bin : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val open_out_gen : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val open_out : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val out_channel_length : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val output_binary_int : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val output_byte : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val output_char : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val output : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val output_string : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val output_value : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val pos_in : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val pos_out : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val prerr_char : char ‑> unit
val prerr_endline : string ‑> unit
val prerr_float : float ‑> unit
val prerr_int : int ‑> unit
val prerr_newline : unit ‑> unit
val prerr_string : string ‑> unit
val print_char : char ‑> unit
val print_endline : string ‑> unit
val print_float : float ‑> unit
val printf : ('a, unit, string, unit) Pervasives.format4 ‑> 'a
val print_int : int ‑> unit
val print_newline : unit ‑> unit
val print_s : ?⁠mach:unit ‑> Sexplib.Sexp.t ‑> unit
val print_string : string ‑> unit
val read_float : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val read_int : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val read_line : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val read_lines : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val read_wrap : ?⁠binary:'a ‑> f:'b ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val really_input : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val seek_in : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val seek_out : [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val set_binary_mode_in : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val set_binary_mode_out : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val write_lines : [< `This_is_async__Think_about_blocking ] ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
val write_wrap : ?⁠binary:'a ‑> f:'b ‑> [< `This_is_async__Think_about_blocking ] ‑> [> `This_is_async__Think_about_blocking ]
module LargeFile : sig ... end
module Sexp : sig ... end
val exit : ?⁠force:unit Async_unix__.Import.Deferred.t ‑> int ‑> 'a Async_unix__.Import.Deferred.t