diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2023-02-09 16:35:44 +0000 |
---|---|---|
committer | Laurent Bercot <ska@appnovation.com> | 2023-02-09 16:35:44 +0000 |
commit | 47e886410b0e1e9e2f40a3447d6a9a9c1c07928f (patch) | |
tree | d24e36a7d408911c2d9145c63324b7df1de150a2 /doc/s6-ioconnect.html | |
parent | c7f5b86a804ae16ab3a4bcda9593a49bce81791c (diff) | |
download | s6-47e886410b0e1e9e2f40a3447d6a9a9c1c07928f.tar.xz |
Clarify the use of shutdown() in s6-ioconnect
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'doc/s6-ioconnect.html')
-rw-r--r-- | doc/s6-ioconnect.html | 11 |
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> |