module ThreadUnix: sig endUnix module. Threaded programs can now call the functions
from module Unix directly, and still get the correct behavior
(block the calling thread, if required, but do not block all threads
in the process).
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 -> string -> int -> int -> intval write : Unix.file_descr -> string -> int -> int -> int
Input/output with timeout
|
val timed_read : Unix.file_descr -> string -> int -> int -> float -> int
val timed_write : Unix.file_descr -> string -> int -> int -> float -> intThreadUnix.read and ThreadUnix.write, except that
Unix_error(ETIMEDOUT,_,_) is raised if no data is
available for reading or ready for writing after d seconds.
The delay d is given in the fifth argument, in seconds.
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 : unit -> Unix.file_descr * Unix.file_descrval open_process_in : string -> Pervasives.in_channelval open_process_out : string -> Pervasives.out_channelval open_process : string -> Pervasives.in_channel * Pervasives.out_channel
Time
|
val sleep : int -> unit
Sockets
|
val socket : Unix.socket_domain -> Unix.socket_type -> int -> Unix.file_descrval accept : Unix.file_descr -> Unix.file_descr * Unix.sockaddrval connect : Unix.file_descr -> Unix.sockaddr -> unitval recv : Unix.file_descr -> string -> int -> int -> Unix.msg_flag list -> intval recvfrom : Unix.file_descr ->
string -> int -> int -> Unix.msg_flag list -> int * Unix.sockaddrval send : Unix.file_descr -> string -> int -> int -> Unix.msg_flag list -> intval sendto : Unix.file_descr ->
string -> int -> int -> Unix.msg_flag list -> Unix.sockaddr -> intval open_connection : Unix.sockaddr -> Pervasives.in_channel * Pervasives.out_channel