summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/s6-ioconnect.html11
1 files changed, 11 insertions, 0 deletions
diff --git a/doc/s6-ioconnect.html b/doc/s6-ioconnect.html
index 2621ff6..4f7186b 100644
--- a/doc/s6-ioconnect.html
+++ b/doc/s6-ioconnect.html
@@ -73,6 +73,17 @@ suite, which is why the
examples here involve TCP. Nevertheless, it can be used with connections
across Unix domain sockets as well, and has its place in the s6
package. </li>
+ <li> If one of the endpoints is a socket, s6-ioconnect will call
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/shutdown.html">shutdown()</a>
+on it (for reading or writing, depending on the endpoint) when it
+needs to transmit EOF. This is a necessary workaround to a
+<a href="https://cr.yp.to/tcpip/twofd.html">misdesign</a> of the
+socket API, but it could have unintended consequences
+when the socket is shared among several processes that expect a
+persistent connection. Most of the time, however, it is a mistake
+to share a data socket between processes, so s6-ioconnect's behaviour
+is suited to an overwhelming majority of cases, and the exceptions are
+specialized enough that they won't need to use s6-ioconnect. </li>
</ul>
</body>