Up

Module Async_sys

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

Signature

val argv : string array
val executable_name : string
val file_exists : string -> [
| `Yes
| `No
| `Unknown
] Import.Deferred.t
val file_exists_exn : string -> bool Import.Deferred.t
val when_file_exists : ?poll_delay:Core.Std.Time.Span.t -> string -> unit Import.Deferred.t

when_file_exists ?poll_delay file returns a deferred that becomes determined when file exists. The default poll delay is 0.5 seconds. It raises an exception if it can not check whether the file is there, in the same cases file_exists returns `Unknown.

val when_file_changes : ?poll_delay:Core.Std.Time.Span.t -> string -> Core.Std.Time.t Import.Pipe.Reader.t

when_file_changes file polls file using stat and writes file's mtime to the pipe every time it changes. The first time in the pipe will be file's current mtime. To stop polling, close the pipe.

val is_directory : ?follow_symlinks:bool -> string -> [
| `Yes
| `No
| `Unknown
] Import.Deferred.t
val is_directory_exn : ?follow_symlinks:bool -> string -> bool Import.Deferred.t
val is_file : ?follow_symlinks:bool -> string -> [
| `Yes
| `No
| `Unknown
] Import.Deferred.t
val is_file_exn : ?follow_symlinks:bool -> string -> bool Import.Deferred.t
val remove : string -> unit Import.Deferred.t
val rename : string -> string -> unit Import.Deferred.t
val getenv : string -> string option
val getenv_exn : string -> string
val command : string -> int Import.Deferred.t
val command_exn : string -> unit Import.Deferred.t
val chdir : string -> unit Import.Deferred.t
val getcwd : unit -> string Import.Deferred.t
val readdir : string -> string array Import.Deferred.t
val ls_dir : string -> string list Import.Deferred.t
val interactive : bool Core.Std.ref
val os_type : string
val word_size : int
val ocaml_version : string
val execution_mode : unit -> [
| `Bytecode
| `Native
]
val c_int_size : unit -> int