package async_unix

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Async_config : sig ... end
module Clock : sig ... end

A Clock based on Core.Time.

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.

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

Gives stats about system IO usage.

module Log : sig ... end

A library for general logging.

module Print : sig ... end

Non-blocking, Async-friendly print functions.

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 Stdio.In_channel.

module Require_explicit_time_source : sig ... end

Deprecates functions that use wall-clock time, so that code must be explicit about what time source is used.

module Scheduler : sig ... end

Dispatches and monitors Async processes.

module Shutdown : sig ... end

For shutting down an Async program.

module Signal : sig ... end

Signal handling.

module Socket : sig ... end
module Sys : sig ... end

This module overrides everything in the Core.Sys module that might block. Functions do the same thing as their counterparts in Core.Sys, but instead return deferreds. For a description of their semantics see the documentation for the Core.Sys module.

module Tcp : sig ... end

Tcp supports connection to inet sockets and unix sockets.

module Thread_safe : sig ... end

The Thread_safe module has functions that are safe to call from threads outside Async, such as the ones spawned by In_thread.run.

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
val every : ?start:unit Async_kernel.Deferred.t -> ?stop:unit Async_kernel.Deferred.t -> ?continue_on_error:bool -> Time_unix.Span.t -> (unit -> unit) -> unit
val schedule : ((unit -> unit) -> unit) Scheduler.with_options
val shutdown : ?force:unit Async_kernel.Deferred.t -> int -> unit
val within : ((unit -> unit) -> unit) Scheduler.with_options
module Printf : sig ... end

Shadow blocking functions in Core.Printf to prevent their unintentional use.

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) 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) format4 -> 'a
val ifprintf : 'a -> ('b, 'a, 'c, unit) 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) 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 ]
val eprint_s : [< `This_is_async__Think_about_blocking ] -> [> `This_is_async__Think_about_blocking ]
  • deprecated [since 2019-12] If you want to the blocking version, use [Core.eprint_s] (this preserves behavior, but is discouraged). If you want the nonblocking version, use [eprint_s_nonblocking] or [Print.eprint_s]
val eprint_s_nonblocking : ?mach:unit -> Sexplib.Sexp.t -> unit
module LargeFile : sig ... end
module Sexp : sig ... end
val exit : ?force:unit Async_kernel.Deferred.t -> int -> 'a Async_kernel.Deferred.t