mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2026-01-22 00:56:40 -05:00
47 lines
No EOL
16 KiB
HTML
47 lines
No EOL
16 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ThreadUnix (ocaml.ThreadUnix)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../index.html">ocaml</a> » ThreadUnix</nav><header class="odoc-preamble"><h1>Module <code><span>ThreadUnix</span></code></h1><p>Thread-compatible system calls.</p><ul class="at-tags"><li class="deprecated"><span class="at-tag">deprecated</span> <p>The functionality of this module has been merged back into the <a href="../Unix/index.html"><code>Unix</code></a> module. Threaded programs can now call the functions from module <a href="../Unix/index.html"><code>Unix</code></a> directly, and still get the correct behavior (block the calling thread, if required, but do not block all threads in the process).</p></li></ul></header><nav class="odoc-toc"><ul><li><a href="#process-handling">Process handling</a></li><li><a href="#basic-input/output">Basic input/output</a></li><li><a href="#input/output-with-timeout">Input/output with timeout</a></li><li><a href="#polling">Polling</a></li><li><a href="#pipes-and-redirections">Pipes and redirections</a></li><li><a href="#time">Time</a></li><li><a href="#sockets">Sockets</a></li></ul></nav><div class="odoc-content"><h2 id="process-handling"><a href="#process-handling" class="anchor"></a>Process handling</h2><div class="odoc-spec"><div class="spec value anchored" id="val-execv"><a href="#val-execv" class="anchor"></a><code><span><span class="keyword">val</span> execv : <span>string <span class="arrow">-></span></span> <span><span>string array</span> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-execve"><a href="#val-execve" class="anchor"></a><code><span><span class="keyword">val</span> execve : <span>string <span class="arrow">-></span></span> <span><span>string array</span> <span class="arrow">-></span></span> <span><span>string array</span> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-execvp"><a href="#val-execvp" class="anchor"></a><code><span><span class="keyword">val</span> execvp : <span>string <span class="arrow">-></span></span> <span><span>string array</span> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-wait"><a href="#val-wait" class="anchor"></a><code><span><span class="keyword">val</span> wait : <span>unit <span class="arrow">-></span></span> int * <a href="../Unix/index.html#type-process_status">Unix.process_status</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-waitpid"><a href="#val-waitpid" class="anchor"></a><code><span><span class="keyword">val</span> waitpid : <span><span><a href="../Unix/index.html#type-wait_flag">Unix.wait_flag</a> list</span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> int * <a href="../Unix/index.html#type-process_status">Unix.process_status</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-system"><a href="#val-system" class="anchor"></a><code><span><span class="keyword">val</span> system : <span>string <span class="arrow">-></span></span> <a href="../Unix/index.html#type-process_status">Unix.process_status</a></span></code></div></div><h2 id="basic-input/output"><a href="#basic-input/output" class="anchor"></a>Basic input/output</h2><div class="odoc-spec"><div class="spec value anchored" id="val-read"><a href="#val-read" class="anchor"></a><code><span><span class="keyword">val</span> read : <span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write"><a href="#val-write" class="anchor"></a><code><span><span class="keyword">val</span> write : <span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-write_substring"><a href="#val-write_substring" class="anchor"></a><code><span><span class="keyword">val</span> write_substring : <span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> int</span></code></div></div><h2 id="input/output-with-timeout"><a href="#input/output-with-timeout" class="anchor"></a>Input/output with timeout</h2><div class="odoc-spec"><div class="spec value anchored" id="val-timed_read"><a href="#val-timed_read" class="anchor"></a><code><span><span class="keyword">val</span> timed_read : <span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>float <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p>See <a href="#val-timed_write"><code>ThreadUnix.timed_write</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-timed_write"><a href="#val-timed_write" class="anchor"></a><code><span><span class="keyword">val</span> timed_write : <span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>float <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p>Behave as <a href="#val-read"><code>ThreadUnix.read</code></a> and <a href="#val-write"><code>ThreadUnix.write</code></a>, except that <code>Unix_error(ETIMEDOUT,_,_)</code> is raised if no data is available for reading or ready for writing after <code>d</code> seconds. The delay <code>d</code> is given in the fifth argument, in seconds.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-timed_write_substring"><a href="#val-timed_write_substring" class="anchor"></a><code><span><span class="keyword">val</span> timed_write_substring :
|
||
<span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span>
|
||
<span>string <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span>float <span class="arrow">-></span></span>
|
||
int</span></code></div><div class="spec-doc"><p>See <a href="#val-timed_write"><code>ThreadUnix.timed_write</code></a>.</p></div></div><h2 id="polling"><a href="#polling" class="anchor"></a>Polling</h2><div class="odoc-spec"><div class="spec value anchored" id="val-select"><a href="#val-select" class="anchor"></a><code><span><span class="keyword">val</span> select :
|
||
<span><span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> list</span> <span class="arrow">-></span></span>
|
||
<span><span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> list</span> <span class="arrow">-></span></span>
|
||
<span><span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> list</span> <span class="arrow">-></span></span>
|
||
<span>float <span class="arrow">-></span></span>
|
||
<span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> list</span> * <span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> list</span> * <span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> list</span></span></code></div></div><h2 id="pipes-and-redirections"><a href="#pipes-and-redirections" class="anchor"></a>Pipes and redirections</h2><div class="odoc-spec"><div class="spec value anchored" id="val-pipe"><a href="#val-pipe" class="anchor"></a><code><span><span class="keyword">val</span> pipe : <span>?cloexec:bool <span class="arrow">-></span></span> <span>unit <span class="arrow">-></span></span> <a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> * <a href="../Unix/index.html#type-file_descr">Unix.file_descr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-open_process_in"><a href="#val-open_process_in" class="anchor"></a><code><span><span class="keyword">val</span> open_process_in : <span>string <span class="arrow">-></span></span> <a href="../Stdlib/index.html#type-in_channel">in_channel</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-open_process_out"><a href="#val-open_process_out" class="anchor"></a><code><span><span class="keyword">val</span> open_process_out : <span>string <span class="arrow">-></span></span> <a href="../Stdlib/index.html#type-out_channel">out_channel</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-open_process"><a href="#val-open_process" class="anchor"></a><code><span><span class="keyword">val</span> open_process : <span>string <span class="arrow">-></span></span> <a href="../Stdlib/index.html#type-in_channel">in_channel</a> * <a href="../Stdlib/index.html#type-out_channel">out_channel</a></span></code></div></div><h2 id="time"><a href="#time" class="anchor"></a>Time</h2><div class="odoc-spec"><div class="spec value anchored" id="val-sleep"><a href="#val-sleep" class="anchor"></a><code><span><span class="keyword">val</span> sleep : <span>int <span class="arrow">-></span></span> unit</span></code></div></div><h2 id="sockets"><a href="#sockets" class="anchor"></a>Sockets</h2><div class="odoc-spec"><div class="spec value anchored" id="val-socket"><a href="#val-socket" class="anchor"></a><code><span><span class="keyword">val</span> socket :
|
||
<span>?cloexec:bool <span class="arrow">-></span></span>
|
||
<span><a href="../Unix/index.html#type-socket_domain">Unix.socket_domain</a> <span class="arrow">-></span></span>
|
||
<span><a href="../Unix/index.html#type-socket_type">Unix.socket_type</a> <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<a href="../Unix/index.html#type-file_descr">Unix.file_descr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-accept"><a href="#val-accept" class="anchor"></a><code><span><span class="keyword">val</span> accept :
|
||
<span>?cloexec:bool <span class="arrow">-></span></span>
|
||
<span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span>
|
||
<a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> * <a href="../Unix/index.html#type-sockaddr">Unix.sockaddr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-connect"><a href="#val-connect" class="anchor"></a><code><span><span class="keyword">val</span> connect : <span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span> <span><a href="../Unix/index.html#type-sockaddr">Unix.sockaddr</a> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-recv"><a href="#val-recv" class="anchor"></a><code><span><span class="keyword">val</span> recv : <span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span><span><a href="../Unix/index.html#type-msg_flag">Unix.msg_flag</a> list</span> <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-recvfrom"><a href="#val-recvfrom" class="anchor"></a><code><span><span class="keyword">val</span> recvfrom :
|
||
<span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span>
|
||
<span>bytes <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span><span><a href="../Unix/index.html#type-msg_flag">Unix.msg_flag</a> list</span> <span class="arrow">-></span></span>
|
||
int * <a href="../Unix/index.html#type-sockaddr">Unix.sockaddr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-send"><a href="#val-send" class="anchor"></a><code><span><span class="keyword">val</span> send : <span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span><span><a href="../Unix/index.html#type-msg_flag">Unix.msg_flag</a> list</span> <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-send_substring"><a href="#val-send_substring" class="anchor"></a><code><span><span class="keyword">val</span> send_substring :
|
||
<span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span>
|
||
<span>string <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span><span><a href="../Unix/index.html#type-msg_flag">Unix.msg_flag</a> list</span> <span class="arrow">-></span></span>
|
||
int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sendto"><a href="#val-sendto" class="anchor"></a><code><span><span class="keyword">val</span> sendto :
|
||
<span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span>
|
||
<span>bytes <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span><span><a href="../Unix/index.html#type-msg_flag">Unix.msg_flag</a> list</span> <span class="arrow">-></span></span>
|
||
<span><a href="../Unix/index.html#type-sockaddr">Unix.sockaddr</a> <span class="arrow">-></span></span>
|
||
int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sendto_substring"><a href="#val-sendto_substring" class="anchor"></a><code><span><span class="keyword">val</span> sendto_substring :
|
||
<span><a href="../Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">-></span></span>
|
||
<span>string <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span><span><a href="../Unix/index.html#type-msg_flag">Unix.msg_flag</a> list</span> <span class="arrow">-></span></span>
|
||
<span><a href="../Unix/index.html#type-sockaddr">Unix.sockaddr</a> <span class="arrow">-></span></span>
|
||
int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-open_connection"><a href="#val-open_connection" class="anchor"></a><code><span><span class="keyword">val</span> open_connection : <span><a href="../Unix/index.html#type-sockaddr">Unix.sockaddr</a> <span class="arrow">-></span></span> <a href="../Stdlib/index.html#type-in_channel">in_channel</a> * <a href="../Stdlib/index.html#type-out_channel">out_channel</a></span></code></div></div></div></body></html> |