Module ThreadUnix
Thread-compatible system calls.
Process handling
val execv : string -> string array -> unitval execve : string -> string array -> string array -> unitval execvp : string -> string array -> unitval wait : unit -> int * Unix.process_statusval waitpid : Unix.wait_flag list -> int -> int * Unix.process_statusval system : string -> Unix.process_status
Basic input/output
val read : Unix.file_descr -> bytes -> int -> int -> intval write : Unix.file_descr -> bytes -> int -> int -> intval single_write : Unix.file_descr -> bytes -> int -> int -> intval write_substring : Unix.file_descr -> string -> int -> int -> intval single_write_substring : Unix.file_descr -> string -> int -> int -> int
Input/output with timeout
val timed_read : Unix.file_descr -> bytes -> int -> int -> float -> int
val timed_write : Unix.file_descr -> bytes -> int -> int -> float -> intBehave as
ThreadUnix.readandThreadUnix.write, except thatUnix_error(ETIMEDOUT,_,_)is raised if no data is available for reading or ready for writing afterdseconds. The delaydis given in the fifth argument, in seconds.
val timed_write_substring : Unix.file_descr -> string -> int -> int -> float -> int
Polling
val select : Unix.file_descr list -> Unix.file_descr list -> Unix.file_descr list -> float -> Unix.file_descr list * Unix.file_descr list * Unix.file_descr list
Pipes and redirections
val pipe : ?cloexec:bool -> unit -> Unix.file_descr * Unix.file_descrval open_process_in : string -> Stdlib.in_channelval open_process_out : string -> Stdlib.out_channelval open_process : string -> Stdlib.in_channel * Stdlib.out_channelval open_process_full : string -> string array -> Stdlib.in_channel * Stdlib.out_channel * Stdlib.in_channel
Time
Sockets
val socket : ?cloexec:bool -> Unix.socket_domain -> Unix.socket_type -> int -> Unix.file_descrval socketpair : ?cloexec:bool -> Unix.socket_domain -> Unix.socket_type -> int -> Unix.file_descr * Unix.file_descrval accept : ?cloexec:bool -> Unix.file_descr -> Unix.file_descr * Unix.sockaddrval connect : Unix.file_descr -> Unix.sockaddr -> unitval recv : Unix.file_descr -> bytes -> int -> int -> Unix.msg_flag list -> intval recvfrom : Unix.file_descr -> bytes -> int -> int -> Unix.msg_flag list -> int * Unix.sockaddrval send : Unix.file_descr -> bytes -> int -> int -> Unix.msg_flag list -> intval send_substring : Unix.file_descr -> string -> int -> int -> Unix.msg_flag list -> intval sendto : Unix.file_descr -> bytes -> int -> int -> Unix.msg_flag list -> Unix.sockaddr -> intval sendto_substring : Unix.file_descr -> string -> int -> int -> Unix.msg_flag list -> Unix.sockaddr -> intval open_connection : Unix.sockaddr -> Stdlib.in_channel * Stdlib.out_channelval establish_server : (Stdlib.in_channel -> Stdlib.out_channel -> unit) -> Unix.sockaddr -> unit