Branch: Tag:

2010-11-19

2010-11-19 11:07:30 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Improved file descriptor capability handling.

* Added PROP_SEND_FD.
* Improved detection of file descriptor capabilities for anonymous fds.
* Improved documentation of the file descriptor capabilities.

937:   </td></tr>   <tr><td><code><code class='key'>PROP_BIDIRECTIONAL</code></code></td><td><p>The resulting pipe is bi-directional.</p>   </td></tr> + <tr><td><code><code class='key'>PROP_SEND_FD</code></code></td><td><p>The resulting pipe might support sending of file descriptors.</p> + </td></tr>   <tr><td><code><code class='key'>PROP_REVERSE</code></code></td><td><p>The resulting pipe supports communication "backwards" (but    not necessarily "forwards", see <code>PROP_BIDIRECTIONAL</code>).</p>   </td></tr>
954:    same as calling it with no arguments.</p>   </dd>   <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>Process.create_process()</code>, <code>PROP_IPC</code>, <code>PROP_NONBLOCK</code>, + <dd class='body--doc'><p><code>Process.create_process()</code>, +  <code>PROP_IPC</code>, <code>PROP_NONBLOCK</code>, <code>PROP_SEND_FD</code>,    <code>PROP_SHUTDOWN</code>, <code>PROP_BUFFERED</code>, <code>PROP_REVERSE</code>,    <code>PROP_BIDIRECTIONAL</code></p>   </dd></dl>
4360:   <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>IPPROTO</b></span> + <span class='homogen--name'><b>PROP_BIDIRECTIONAL</b></span>   </dt> - <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>IPPROTO</code></code></p></dd> - <dt class='head--fixme'>FIXME</dt> - <dd class='body--fixme'><p>Document this constant.</p> + <dd><p><code><code class='datatype'>constant</code> <code class='datatype'>int</code> Stdio.<code class='constant'>PROP_BIDIRECTIONAL</code></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>The file is bi-directional.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>Stdio.File()-&gt;pipe()</code></p>   </dd></dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>PROP_BIDIRECTIONAL</b></span> + <span class='homogen--name'><b>PROP_BUFFERED</b></span>   </dt> - <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>PROP_BIDIRECTIONAL</code></code></p></dd> - <dt class='head--fixme'>FIXME</dt> - <dd class='body--fixme'><p>Document this constant.</p> + <dd><p><code><code class='datatype'>constant</code> <code class='datatype'>int</code> Stdio.<code class='constant'>PROP_BUFFERED</code></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>The file is buffered (usually 4KB).</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>Stdio.File()-&gt;pipe()</code></p>   </dd></dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>PROP_BUFFERED</b></span> + <span class='homogen--name'><b>PROP_IPC</b></span>   </dt> - <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>PROP_BUFFERED</code></code></p></dd> - <dt class='head--fixme'>FIXME</dt> - <dd class='body--fixme'><p>Document this constant.</p> + <dd><p><code><code class='datatype'>constant</code> <code class='datatype'>int</code> Stdio.<code class='constant'>PROP_IPC</code></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>The file may be used for inter process communication.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>Stdio.File()-&gt;pipe()</code></p>   </dd></dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>PROP_IPC</b></span> + <span class='homogen--name'><b>PROP_NONBLOCK</b></span>   </dt> - <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>PROP_IPC</code></code></p></dd> - <dt class='head--fixme'>FIXME</dt> - <dd class='body--fixme'><p>Document this constant.</p> + <dd><p><code><code class='datatype'>constant</code> <code class='datatype'>int</code> Stdio.<code class='constant'>PROP_NONBLOCK</code></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>The file supports nonblocking I/O.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>Stdio.File()-&gt;pipe()</code></p>   </dd></dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>PROP_NONBLOCK</b></span> + <span class='homogen--name'><b>PROP_REVERSE</b></span>   </dt> - <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>PROP_NONBLOCK</code></code></p></dd> - <dt class='head--fixme'>FIXME</dt> - <dd class='body--fixme'><p>Document this constant.</p> + <dd><p><code><code class='datatype'>constant</code> <code class='datatype'>int</code> Stdio.<code class='constant'>PROP_REVERSE</code></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>Request reversed operation.</p> + <p> Used as argument to <code>Stdio.File()-&gt;pipe()</code>, when +  <code>PROP_BIDIRECTIONAL</code> hasn't been specified, to +  request the direction of the resulting pipe to +  reversed.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>Stdio.File()-&gt;pipe()</code></p>   </dd></dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Constant</span> - <span class='homogen--name'><b>PROP_REVERSE</b></span> + <span class='homogen--name'><b>PROP_SEND_FD</b></span>   </dt> - <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>PROP_REVERSE</code></code></p></dd> - <dt class='head--fixme'>FIXME</dt> - <dd class='body--fixme'><p>Document this constant.</p> + <dd><p><code><code class='datatype'>constant</code> <code class='datatype'>int</code> Stdio.<code class='constant'>PROP_SEND_FD</code></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>The <code>Stdio.File</code> object might support sending of open +  file descriptors.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>Stdio.File()-&gt;pipe()</code></p>   </dd></dl>      
4428:   <dt class='head--type'><span class='homogen--type'>Constant</span>   <span class='homogen--name'><b>PROP_SHUTDOWN</b></span>   </dt> - <dd><p><code><code class='datatype'>constant</code> Stdio.<code class='constant'>PROP_SHUTDOWN</code></code></p></dd> - <dt class='head--fixme'>FIXME</dt> - <dd class='body--fixme'><p>Document this constant.</p> + <dd><p><code><code class='datatype'>constant</code> <code class='datatype'>int</code> Stdio.<code class='constant'>PROP_SHUTDOWN</code></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>The file supports shutting down transmission in either +  direction.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>Stdio.File()-&gt;close()</code>, <code>Stdio.File()-&gt;pipe()</code></p>   </dd></dl>