summaryrefslogtreecommitdiff
path: root/doc/s6-fdholder-errorcodes.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/s6-fdholder-errorcodes.html')
-rw-r--r--doc/s6-fdholder-errorcodes.html72
1 files changed, 72 insertions, 0 deletions
diff --git a/doc/s6-fdholder-errorcodes.html b/doc/s6-fdholder-errorcodes.html
new file mode 100644
index 0000000..8e41365
--- /dev/null
+++ b/doc/s6-fdholder-errorcodes.html
@@ -0,0 +1,72 @@
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <title>s6: the s6-fdholder error codes</title>
+ <meta name="Description" content="s6: the s6-fdholder error codes" />
+ <meta name="Keywords" content="s6 s6-fdholder fd-holding fd-holder fd unix socket activation" />
+ <!-- <link rel="stylesheet" type="text/css" href="http://skarnet.org/default.css" /> -->
+ </head>
+<body>
+
+<p>
+<a href="index.html">s6</a><br />
+<a href="http://skarnet.org/software/">Software</a><br />
+<a href="http://skarnet.org/">skarnet.org</a>
+</p>
+
+<h1> The <tt>s6-fdholder</tt> error codes </h1>
+
+<p>
+ The following error messages (and corresponding
+<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html">errno codes</a>)
+can be returned by the
+<a href="s6-fdholderd.html">s6-fdholderd</a> daemon to its various clients.
+This page explains why they occur.
+</p>
+
+<ul>
+ <li> <tt>Protocol error</tt> (EPROTO) or <tt>Protocol wrong type
+for socket</tt> (EPROTOTYPE): the client connected to the wrong
+kind of server and they cannot communicate. This is generally a
+programming error. It can also
+signal a bug in the s6-fdholder tools, but protocol bugs have
+usually been wiped out before a s6 release. </li>
+ <li> <tt>Broken pipe</tt> (EPIPE): the client was not authorized to
+connect to the server, which closed the connection. You need to
+<a href="s6-fdholderd.html#configuration">configure the access
+rights to the server</a>. </li>
+ <li> <tt>Operation not permitted</tt> (EPERM): even though the
+client was authorized to connect to the server, the specific
+operation it wanted to perform was denied. You need to
+<a href="s6-fdholderd.html#configuration">configure the access
+rights to the server</a>. </li>
+ <li> <tt>Too many open files in system</tt> (ENFILE): the client
+attempted to store more file descriptors than the server can hold.
+Or, the client attempted to retrieve more file descriptors than it
+can hold. You should check the <tt>-n</tt> option to
+<a href="s6-fdholderd.html">s6-fdholderd</a>, as well as the
+<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_resource.h.html">RLIMIT_NOFILE</a>
+resource limits used by the client and the server, and adjust them
+accordingly. </li>
+ <li> <tt>Resource busy</tt> (EBUSY): the client attempted to store
+a descriptor under an identifier that is already used. </li>
+ <li> <tt>Filename too long</tt> (ENAMETOOLONG): the identifier
+provided by the client was too long. </li>
+ <li> <tt>No such file or directory</tt> (ENOENT): the identifier
+provided by the client was not found in the server database. </li>
+ <li> <tt>Bad file descriptor</tt> (EBADF): the client attempted
+to transmit a closed, or otherwise unsuitable for fd-passing,
+file descriptor. </li>
+ <li> <tt>Operation timed out</tt> (ETIMEDOUT): the client, or the
+server, took too long to perform the wanted operation. This is most
+probably a programming error, because both client and server should
+have a very fast reaction time. Check that the client is connecting
+to the right server, and check <tt>-t</tt> options to both client and
+server (the argument is interpreted as milliseconds!). </li>
+ <li> Other errors indicate a transient error such as lack of memory,
+hardware failure, etc. </li>
+</ul>
+
+</body>
+</html>