summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2020-09-16 12:04:55 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2020-09-16 12:04:55 +0000
commitb0fe68c13b04af8c098d53ea999bba6b7395163d (patch)
tree298bab9f755edd10f4fd09c22beadb89f05f1be3
parent997b02adcc8384906339ea81ece5ba7244f3ef60 (diff)
downloads6-b0fe68c13b04af8c098d53ea999bba6b7395163d.tar.xz
Documentation fixes, by flexibeast
-rw-r--r--doc/ftrig.html8
-rw-r--r--doc/index.html32
-rw-r--r--doc/libs6/accessrules.html8
-rw-r--r--doc/libs6/ftrigr.html8
-rw-r--r--doc/libs6/s6-fdholder.html2
-rw-r--r--doc/libs6/s6-ftrigrd.html8
-rw-r--r--doc/libs6/s6lock.html8
-rw-r--r--doc/libs6/s6lockd.html12
-rw-r--r--doc/localservice.html2
-rw-r--r--doc/overview.html6
-rw-r--r--doc/s6-accessrules-cdb-from-fs.html4
-rw-r--r--doc/s6-accessrules-fs-from-cdb.html2
-rw-r--r--doc/s6-connlimit.html4
-rw-r--r--doc/s6-envdir.html2
-rw-r--r--doc/s6-envuidgid.html8
-rw-r--r--doc/s6-fdholder-daemon.html6
-rw-r--r--doc/s6-fdholder-delete.html4
-rw-r--r--doc/s6-fdholder-errorcodes.html6
-rw-r--r--doc/s6-fdholder-getdump.html12
-rw-r--r--doc/s6-fdholder-list.html4
-rw-r--r--doc/s6-fdholder-retrieve.html8
-rw-r--r--doc/s6-fdholder-setdump.html4
-rw-r--r--doc/s6-fdholder-store.html4
-rw-r--r--doc/s6-fdholder-transferdump.html2
-rw-r--r--doc/s6-fdholderd.html16
-rw-r--r--doc/s6-ftrig-listen.html4
-rw-r--r--doc/s6-ftrig-listen1.html4
-rw-r--r--doc/s6-ftrig-wait.html4
-rw-r--r--doc/s6-ioconnect.html4
-rw-r--r--doc/s6-ipcclient.html2
-rw-r--r--doc/s6-ipcserver-access.html6
-rw-r--r--doc/s6-ipcserver-socketbinder.html4
-rw-r--r--doc/s6-ipcserver.html4
-rw-r--r--doc/s6-log.html28
-rw-r--r--doc/s6-svc.html2
-rw-r--r--doc/s6-svscan-1.html4
-rw-r--r--doc/s6-svscan.html6
-rw-r--r--doc/s6-svscanctl.html2
-rw-r--r--doc/s6-svstat.html4
-rw-r--r--doc/scandir.html6
-rw-r--r--doc/servicedir.html6
-rw-r--r--doc/socket-activation.html2
-rw-r--r--doc/why.html20
43 files changed, 147 insertions, 145 deletions
diff --git a/doc/ftrig.html b/doc/ftrig.html
index 6d26eeb..c8f168d 100644
--- a/doc/ftrig.html
+++ b/doc/ftrig.html
@@ -73,7 +73,7 @@ it's not handling an event, and only wake up when needed.
Of course, the problem of notification is that it's often more difficult
to implement. Notification frameworks are generally more complex, involving
lots of asynchronism; polling is widely used
-<a href="http://lib.store.yahoo.net/lib/demotivators/mediocritydemotivationalposter.jpg">because
+<a href="https://lib.store.yahoo.net/lib/demotivators/mediocritydemotivationalposter.jpg">because
it's easy.</a>
</p>
@@ -86,11 +86,11 @@ notify process A.
<ul>
<li> Signals. The simplest Unix notification mechanism. Sending events amounts
-to a <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/kill.html">kill()</a>
-call, and receiving events amounts to installing a signal handler (preferrably
+to a <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/kill.html">kill()</a>
+call, and receiving events amounts to installing a signal handler (preferably
using a <a href="//skarnet.org/software/skalibs/libstddjb/selfpipe.html">self-pipe</a>
if mixing signals with an event loop). Unfortunately, Unix signals, even the more
-recent and powerful real-time Posix signals, have important limitations when it's
+recent and powerful real-time POSIX signals, have important limitations when it's
about generic notification:
<ul>
<li> non-root processes can only send signals to a very restricted and
diff --git a/doc/index.html b/doc/index.html
index 07d805b..e193cc3 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -22,7 +22,7 @@
<p>
s6 is a small suite of programs for UNIX, designed to allow process supervision
(a.k.a service supervision),
-in the line of <a href="http://cr.yp.to/daemontools.html">daemontools</a>
+in the line of <a href="https://cr.yp.to/daemontools.html">daemontools</a>
and <a href="http://smarden.org/runit/">runit</a>, as well as various
operations on processes and daemons. It is meant to be a toolbox for
low-level process and service administration, providing different sets of
@@ -37,15 +37,15 @@ provided by s6 - besides process supervision:
</p>
<ul>
- <li> <a href="http://en.wikipedia.org/wiki/Syslog">syslogd</a> functionality,
+ <li> <a href="https://en.wikipedia.org/wiki/Syslog">syslogd</a> functionality,
using much less resources than the traditional syslogd. </li>
<li> Reliable service readiness notification, which is the basis for
service dependency management. </li>
<li> Controlled privileged gain as with
-<a href="http://en.wikipedia.org/wiki/Sudo">sudo</a>, without using
+<a href="https://en.wikipedia.org/wiki/Sudo">sudo</a>, without using
any suid programs. </li>
<li> The useful parts of
-<a href="http://0pointer.de/blog/projects/socket-activation.html">socket
+<a href="https://0pointer.de/blog/projects/socket-activation.html">socket
activation</a><sup><a href="#fn1" id="r1">[1]</a></sup>
without having to change application code or link servers
against any specific library, and without having to switch to any
@@ -67,7 +67,7 @@ supervision that might help you understand the basics.
<li> <a href="why.html">Why another supervision suite?</a> Isn't <a href="http://smarden.org/runit/">runit</a> good enough?</li>
<li> What is <a href="ftrig.html">instant notification</a>? What does the
<a href="libs6/ftrigr.html">ftrigr library</a> do exactly?</li>
-<li> How to run a s6-svscan-based supervision tree <a href="s6-svscan-not-1.html">without replacing init</a> </li>
+<li> How to run an s6-svscan-based supervision tree <a href="s6-svscan-not-1.html">without replacing init</a> </li>
<li> How to <a href="s6-svscan-1.html">replace init</a> </li>
<li> How to perform <a href="socket-activation.html">socket activation
with s6</a> </li>
@@ -97,7 +97,7 @@ certain binaries that spawn scripts interpreted with
<p>
s6 is free software. It is available under the
-<a href="http://opensource.org/licenses/ISC">ISC license</a>.
+<a href="https://opensource.org/licenses/ISC">ISC license</a>.
</p>
<h3> Download </h3>
@@ -168,7 +168,7 @@ a user interface to control those processes and monitor service states.
<p>
These programs are a rewrite of the corresponding utilities from
-<a href="http://cr.yp.to/daemontools.html">daemontools</a>, with
+<a href="https://cr.yp.to/daemontools.html">daemontools</a>, with
a few extras.
</p>
@@ -304,7 +304,7 @@ Linux system with s6-svscan as process 1. </li>
is a project that automates integration of s6 into Docker images. </li>
<li> <a href="//skarnet.org/software/s6-rc/">s6-rc</a> is a
dependency-based service manager for s6. </li>
- <li> <a href="http://jjacky.com/anopa">anopa</a> is another dependency-based
+ <li> <a href="https://jjacky.com/anopa">anopa</a> is another dependency-based
service manager for s6. </li>
</ul>
@@ -321,9 +321,9 @@ and answer questions. </li>
<h3> Similar work </h3>
<ul>
- <li> <a href="http://cr.yp.to/daemontools.html">daemontools</a>, the pioneering
+ <li> <a href="https://cr.yp.to/daemontools.html">daemontools</a>, the pioneering
process supervision software suite. </li>
- <li> <a href="http://untroubled.org/daemontools-encore/">daemontools-encore</a>,
+ <li> <a href="https://untroubled.org/daemontools-encore/">daemontools-encore</a>,
a derived work from daemontools with enhancements. (Note that although s6 follows
the same naming scheme, the same general design, and many of the same architecture
choices as daemontools, it is still original work, sharing no code at all with
@@ -341,24 +341,24 @@ different way than the previous items on this list. </li>
<h3> Other init systems </h3>
<ul>
- <li> Felix von Leitner's <a href="http://www.fefe.de/minit/">minit</a> is an
+ <li> Felix von Leitner's <a href="https://www.fefe.de/minit/">minit</a> is an
init system for Linux, with process supervision capabilities. </li>
- <li> <a href="http://git.suckless.org/sinit">suckless init</a> is
+ <li> <a href="https://git.suckless.org/sinit">suckless init</a> is
considered by many as the smallest possible init. I disagree: suckless
init is incorrect, because it
has no supervision capabilities, and thus, killing all processes but init
can brick the machine. Nevertheless, suckless init, like many other
suckless projects, is a neat exercise in minimalism. </li>
- <li> <a href="http://freshmeat.net/projects/sysvinit/">sysvinit</a> is the
+ <li> <a href="https://nongnu.org/sysvinit/">sysvinit</a> is the
traditional init system for Linux. </li>
- <li> <a href="http://upstart.ubuntu.com/">Upstart</a> is a well-known init system
+ <li> <a href="https://upstart.ubuntu.com/">Upstart</a> is a well-known init system
for Linux, with complete service management, that comes with the Ubuntu
distribution. It includes a coffee machine and the kitchen sink.</li>
<li> <a href="//skarnet.org/software/systemd.html">systemd</a> is a problem in its own category. </li>
<li> The various BSD flavors have their own style of
-<a href="http://www.freebsd.org/doc/handbook/boot-init.html">init</a>. </li>
+<a href="https://www.freebsd.org/doc/handbook/boot-init.html">init</a>. </li>
<li> MacOS X has its own init spaghetti monster called
-<a href="http://en.wikipedia.org/wiki/Launchd">launchd</a>. </li>
+<a href="https://en.wikipedia.org/wiki/Launchd">launchd</a>. </li>
</ul>
<p>
diff --git a/doc/libs6/accessrules.html b/doc/libs6/accessrules.html
index 2360cfc..51d0a58 100644
--- a/doc/libs6/accessrules.html
+++ b/doc/libs6/accessrules.html
@@ -88,7 +88,7 @@ under, in the format understood by
<a href="../s6-accessrules-cdb-from-fs.html">s6-accessrules-cdb-from-fs</a>. </li>
<li> <tt>s6_accessrules_backend_cdb</tt> takes a <tt>struct cdb *</tt>
<em>handle</em> and looks up <em>key</em> in the
-<a href="http://cr.yp.to/cdb.html">CDB</a> it points to. <em>handle</em> must
+<a href="https://cr.yp.to/cdb.html">CDB</a> it points to. <em>handle</em> must
already be mapped to a CDB file. Such a file can be built with the
<a href="../s6-accessrules-cdb-from-fs.html">s6-accessrules-cdb-from-fs</a>
utility. </li>
@@ -143,7 +143,7 @@ starting with <em>key</em> itself and ending with <em>key</em>'s TLD,
it looks up <tt>reversedns/<em>k</em></tt>. The final dot is excluded from
<em>k</em>. If no match can be found, the function checks <tt>reversedns/@</tt>
and returns the result. For instance, if <em>key</em> is "foo.bar.com",
-the following strings are looked up, in that order:
+the following strings are looked up, in this order:
<ul>
<li> reversedns/foo.bar.com </li>
<li> reversedns/bar.com </li>
@@ -158,7 +158,7 @@ netmask <em>mask</em> from 32 to 0, it constructs the IPv4 network
prefix <em>addr</em> corresponding to that address, and looks up
<tt>ip4/<em>addr</em>_<em>mask</em></tt>. For instance, if <em>key</em>
is "\300\250\001\007", representing the 192.168.1.7 address, the following
-strings are looked up, in that order:
+strings are looked up, in this order:
<ul>
<li> ip4/192.168.1.7_32 </li>
<li> ip4/192.168.1.6_31 </li>
@@ -187,7 +187,7 @@ and looks up
<tt>ip6/<em>addr</em>_<em>mask</em></tt>. For instance, if <em>key</em>
is "*\0\024P@\002\b\003\0\0\0\0\0\0\020\006", representing the
2a00:1450:4002:803::1006 address, the following
-strings are looked up, in that order:
+strings are looked up, in this order:
<ul>
<li> ip6/2a00:1450:4002:803::1006_128 </li>
<li> ip6/2a00:1450:4002:803::1006_127 </li>
diff --git a/doc/libs6/ftrigr.html b/doc/libs6/ftrigr.html
index 84ab1cd..d1b2efe 100644
--- a/doc/libs6/ftrigr.html
+++ b/doc/libs6/ftrigr.html
@@ -45,7 +45,7 @@ simply ignoring pids you don't know.
<p>
If your application has trouble handling unknown
-children, consider using a ftrigrd service. (And fix your application!)
+children, consider using an ftrigrd service. (And fix your application!)
</p>
<h3> A programming example </h3>
@@ -112,11 +112,11 @@ ftrigr_startf(&amp;a, &amp;deadline, &amp;stamp) ;
</pre>
<p>
-<tt>ftrigr_start</tt> starts a session with a ftrigrd service listening on
+<tt>ftrigr_start</tt> starts a session with an ftrigrd service listening on
<em>path</em>. <br />
-<tt>ftrigr_startf</tt> starts a session with a ftrigrd process as a child
+<tt>ftrigr_startf</tt> starts a session with an ftrigrd process as a child
(which is the simplest usage). <br />
-<tt>a</tt> is a ftrigr_t structure that must be declared in the stack and
+<tt>a</tt> is an ftrigr_t structure that must be declared in the stack and
initialized to FTRIGR_ZERO.
<tt>stamp</tt> must be an accurate enough timestamp. <br />
If the session initialization fails, the function returns 0 and errno is set;
diff --git a/doc/libs6/s6-fdholder.html b/doc/libs6/s6-fdholder.html
index 38a2343..4a2fb25 100644
--- a/doc/libs6/s6-fdholder.html
+++ b/doc/libs6/s6-fdholder.html
@@ -72,7 +72,7 @@ s6_fdholder_free(&amp;a) ;
<p>
<tt>s6_fdholder_init</tt> assumes that <em>fd</em> is a socket already
-connected to a s6-fdholderd daemon. The <em>a</em> structure must be
+connected to an s6-fdholderd daemon. The <em>a</em> structure must be
initialized to <tt>S6_FDHOLDER_ZERO</tt> before use.
</p>
diff --git a/doc/libs6/s6-ftrigrd.html b/doc/libs6/s6-ftrigrd.html
index 23c63c2..7325c72 100644
--- a/doc/libs6/s6-ftrigrd.html
+++ b/doc/libs6/s6-ftrigrd.html
@@ -39,10 +39,10 @@ stdout is a pipe writing to the client; its stderr is the same as the client's;
there's an additional pipe from s6-ftrigrd to the client, used for asynchronous
notifications. </li>
<li> If the client program uses <tt>ftrigr_start()</tt>, then it tries to connect
-to a Unix domain socket. A ftrigrd <a href="../localservice.html">local service</a> should be listening to that
-socket, i.e. a Unix domain superserver such as
+to a Unix domain socket. An ftrigrd <a href="../localservice.html">local service</a> should be listening to that
+socket, i.e. a Unix domain super-server such as
<a href="s6-ipcserver.html">s6-ipcserver</a>
-spawning a s6-ftrigrd program on every connection. Then a s6-ftrigrd instance is created
+spawning an s6-ftrigrd program on every connection. Then an s6-ftrigrd instance is created
for the client. </li>
<li> When the client uses <tt>ftrigr_end()</tt>, or closes s6-ftrigrd's stdin in
any way, s6-ftrigrd exits 0. </li>
@@ -71,7 +71,7 @@ to read them. To avoid uncontrolled growth, make sure your client calls
</p>
<p>
- A s6-ftrigrd instance can only handle up to FTRIGRD_MAX (defined in <tt>s6/ftrigr.h</tt>)
+ An s6-ftrigrd instance can only handle up to FTRIGRD_MAX (defined in <tt>s6/ftrigr.h</tt>)
subscriptions at once. By default, this number is 1000, which is more than enough for
any reasonable system.
</p>
diff --git a/doc/libs6/s6lock.html b/doc/libs6/s6lock.html
index 5eb580b..049ed44 100644
--- a/doc/libs6/s6lock.html
+++ b/doc/libs6/s6lock.html
@@ -40,7 +40,7 @@ options are usually available. </li>
<a href="../localservice.html">s6lockd service</a> concurrently
accessed by several applications using such locks to gate shared
resources. </li>
- <li> If you're not using a s6lockd service,
+ <li> If you're not using an s6lockd service,
make sure your application is not disturbed by children it doesn't
know it has. Using nonblocking waits, ignoring pids you don't know, and
using a
@@ -65,13 +65,13 @@ s6lock_start_g(&amp;a, path, &amp;deadline) ;
</pre>
<p>
-<tt>s6lock_start_g</tt> starts a session by connecting to a s6lockd service
+<tt>s6lock_start_g</tt> starts a session by connecting to an s6lockd service
listening on <em>path</em>. The working directory is set by the administrator
of the service. <br />
-<tt>s6lock_startf_g</tt> starts a session with a s6lockd process as a child,
+<tt>s6lock_startf_g</tt> starts a session with an s6lockd process as a child,
using <em>lockdir</em> as its working directory.
<br />
-<tt>a</tt> is a s6lock_t structure that must be declared in the stack and
+<tt>a</tt> is an s6lock_t structure that must be declared in the stack and
initialized to S6LOCK_ZERO.
If the session initialization fails, the function returns 0 and errno is set;
else the function returns 1.
diff --git a/doc/libs6/s6lockd.html b/doc/libs6/s6lockd.html
index 9fcb055..089de57 100644
--- a/doc/libs6/s6lockd.html
+++ b/doc/libs6/s6lockd.html
@@ -39,11 +39,11 @@ user: it will be spawned by the
<ol>
<li> Use the <tt>s6lock_startf()</tt> library call.
-A <tt>s6lockd</tt> child will then be spawned from your
+An <tt>s6lockd</tt> child will then be spawned from your
calling process, and automatically reaped when you call
<tt>s6lock_end()</tt>. It requires care with applications that
trap SIGCHLD. It also requires care with lock file permissions:
-a s6lockd instance might not be able
+an s6lockd instance might not be able
to open a lock file created by a former instance run by another
client with different permissions. </li>
<li> Use the <tt>s6lock_start()</tt> library call, together with a
@@ -56,10 +56,10 @@ simplifies permissions management considerably. </li>
<p>
When run as a service, s6lockd has no "standalone" mode: it is
designed to work with a Unix
-domain superserver, like
+domain super-server, like
<a href="../s6-ipcserver.html">s6-ipcserver</a>.
-s6lockd follows the <a href="http://cr.yp.to/proto/ucspi.txt">UCSPI</a>
-interface, it can be directly executed from the superserver.
+s6lockd follows the <a href="https://cr.yp.to/proto/ucspi.txt">UCSPI</a>
+interface, it can be directly executed from the super-server.
</p>
<h2> Notes </h2>
@@ -67,7 +67,7 @@ interface, it can be directly executed from the superserver.
<ul>
<li> Unix does not natively provide a way to stop blocking on a lock
acquisition after a timeout. To emulate such behaviour, s6lockd actually
-spawns a <a href="s6lockd-helper.html">s6lockd-helper</a> child per
+spawns an <a href="s6lockd-helper.html">s6lockd-helper</a> child per
requested lock. </li>
</ul>
diff --git a/doc/localservice.html b/doc/localservice.html
index 1e0c119..9c2f794 100644
--- a/doc/localservice.html
+++ b/doc/localservice.html
@@ -96,7 +96,7 @@ socket <em>and</em> a pipe between the client and the server.
<h2> UCSPI </h2>
<p>
- The <a href="http://cr.yp.to/proto/ucspi.txt">UCSPI</a> protocol
+ The <a href="https://cr.yp.to/proto/ucspi.txt">UCSPI</a> protocol
is an easy way of abstracting clients and servers from the network.
A server written as a UCSPI server, just as it can be run
under inetd or
diff --git a/doc/overview.html b/doc/overview.html
index cecdde6..1b4cb5d 100644
--- a/doc/overview.html
+++ b/doc/overview.html
@@ -28,7 +28,7 @@ description of the different parts of s6.
<p>
At its core, s6 is a <em>process supervision suite</em>, like its ancestor
-<a href="http://cr.yp.to/daemontools.html">daemontools</a> and its
+<a href="https://cr.yp.to/daemontools.html">daemontools</a> and its
close cousin
<a href="http://smarden.org/runit/">runit</a>.
</p>
@@ -288,7 +288,7 @@ sometimes, they are daemons themselves, designed to be supervised.
<p>
s6, like other <a href="//skarnet.org/software/">skarnet.org
software</a>, makes heavy use of
-<a href="http://en.wikipedia.org/wiki/Chain_loading#Chain_loading_in_Unix">chain
+<a href="https://en.wikipedia.org/wiki/Chain_loading#Chain_loading_in_Unix">chain
loading</a>, also known as "Bernstein chaining": a lot of s6 tools will
perform some action that changes the process state, then execute into the
rest of their command line. This allows the user to change the process state
@@ -461,7 +461,7 @@ descriptors. </li>
<p>
Note that "socket activation", one of the main advertised benefits of the
-<a href="http://www.freedesktop.org/wiki/Software/systemd/">systemd</a>
+<a href="https://www.freedesktop.org/wiki/Software/systemd/">systemd</a>
init system, sounds similar to fd-holding.
The reality is that socket activation is a mixture of several different
mechanisms, one of which is fd-holding; s6 allows you to implement the
diff --git a/doc/s6-accessrules-cdb-from-fs.html b/doc/s6-accessrules-cdb-from-fs.html
index 9ca2bcd..b0096c7 100644
--- a/doc/s6-accessrules-cdb-from-fs.html
+++ b/doc/s6-accessrules-cdb-from-fs.html
@@ -23,7 +23,7 @@
containing a ruleset suitable for
<a href="s6-ipcserver-access.html">s6-ipcserver-access</a> or
<a href="//skarnet.org/software/s6-networking/s6-tcpserver-access.html">s6-tcpserver-access</a> into a
-<a href="http://en.wikipedia.org/wiki/Cdb_(software)">CDB file</a>.
+<a href="https://en.wikipedia.org/wiki/Cdb_(software)">CDB file</a>.
</p>
<h2> Interface </h2>
@@ -35,7 +35,7 @@ containing a ruleset suitable for
<ul>
<li> s6-accessrules-cdb-from-fs compiles the <em>dir</em>
directory containing a ruleset into a
-<a href="http://en.wikipedia.org/wiki/Cdb_(software)">CDB file</a>
+<a href="https://en.wikipedia.org/wiki/Cdb_(software)">CDB file</a>
<em>cdbfile</em> then exits 0. </li>
</ul>
diff --git a/doc/s6-accessrules-fs-from-cdb.html b/doc/s6-accessrules-fs-from-cdb.html
index 57aad97..812f199 100644
--- a/doc/s6-accessrules-fs-from-cdb.html
+++ b/doc/s6-accessrules-fs-from-cdb.html
@@ -35,7 +35,7 @@ that has been compiled with
<ul>
<li> s6-accessrules-fs-from-cdb decompiles the
-<a href="http://en.wikipedia.org/wiki/Cdb_(software)">CDB file</a>
+<a href="https://en.wikipedia.org/wiki/Cdb_(software)">CDB file</a>
<em>cdbfile</em> into the directory <em>dir</em>, then exits 0. </li>
</ul>
diff --git a/doc/s6-connlimit.html b/doc/s6-connlimit.html
index aeb739d..ea0aaf5 100644
--- a/doc/s6-connlimit.html
+++ b/doc/s6-connlimit.html
@@ -47,8 +47,8 @@ no maximum number of connections has been defined. </li>
<p>
The <a href="//skarnet.org/software/s6-networking/s6-tcpserver4.html">s6-tcpserver4</a> and
-<a href="//skarnet.org/software/s6-networking/s6-tcpserver6.html">s6-tcpserver6</a> define the PROTO environment
-variable to "TCP", and spawn every child server with the TCPCONNNUM environment
+<a href="//skarnet.org/software/s6-networking/s6-tcpserver6.html">s6-tcpserver6</a> programs
+define the PROTO environment variable to "TCP", and spawn every child server with the TCPCONNNUM environment
variable set to the number of connections from the same IP address.
The <a href="//skarnet.org/software/s6-networking/s6-tcpserver-access.html">s6-tcpserver-access</a> program
can set environment variables depending on the client's IP address. If the
diff --git a/doc/s6-envdir.html b/doc/s6-envdir.html
index d1f1450..472103d 100644
--- a/doc/s6-envdir.html
+++ b/doc/s6-envdir.html
@@ -60,7 +60,7 @@ first character of <em>nullis</em> instead of a newline. </li>
<p>
s6-envdir without options behaves exactly like
-<a href="http://cr.yp.to/daemontools/envdir.html">envdir</a>.
+<a href="https://cr.yp.to/daemontools/envdir.html">envdir</a>.
</p>
</body>
diff --git a/doc/s6-envuidgid.html b/doc/s6-envuidgid.html
index 9753d68..cb8e299 100644
--- a/doc/s6-envuidgid.html
+++ b/doc/s6-envuidgid.html
@@ -54,7 +54,7 @@ to its numerical value, and the UID and GIDLIST variables will not be touched. <
interpreted as <em>user<tt>:</tt>group</em>. The GIDLIST variable will not be
touched. If <em>user</em> does not exist, the UID variable will be set to 0 unless
a better default is provided with the <tt>-D</tt> option.
-if <em>group</em> does not exist, the GID variable will be set to 0 unless a
+If <em>group</em> does not exist, the GID variable will be set to 0 unless a
better default is provided with the <tt>-D</tt> option. </li>
<li> <tt>-n</tt>&nbsp;: numerical fallback. If <em>account</em> cannot be
found in the user or group database, try to interpret the given values literally.
@@ -65,19 +65,19 @@ will set UID to 0 and GID to 42. </li>
an error message. This is the default. </li>
<li> <tt>-D&nbsp;<em>uid</em>:<em>gid</em>:<em>gidlist</em></tt>&nbsp;: if <em>account</em>
is unknown, use <em>uid</em>, <em>gid</em> and <em>gidlist</em> as the values for
-UID and GID and GIDLIST. </li>
+UID, GID and GIDLIST. </li>
</ul>
<h2> Notes </h2>
<ul>
<li> s6-envuidgid without options behaves like
-<a href="http://cr.yp.to/daemontools/envuidgid.html">envuidgid</a>, except that
+<a href="https://cr.yp.to/daemontools/envuidgid.html">envuidgid</a>, except that
the exit code is 1 if <em>account</em> doesn't exist, and it also exports
supplementary groups. </li>
<li> s6-envuidgid is useful when running a program that must start as root but can
drop its privileges later. Such a program can read its new uid/gid/groups info
-from the UID, GID and GIDLIST environment variables. Superservers such as
+from the UID, GID and GIDLIST environment variables. Super-servers such as
<a href="//skarnet.org/software/s6-networking/s6-tcpserver4.html">s6-tcpserver4</a>
make use of this. </li>
</ul>
diff --git a/doc/s6-fdholder-daemon.html b/doc/s6-fdholder-daemon.html
index 8d4bd2d..5e9c592 100644
--- a/doc/s6-fdholder-daemon.html
+++ b/doc/s6-fdholder-daemon.html
@@ -69,7 +69,7 @@ verbose, or more verbose, depending on if <em>verbosity</em> is 0,
1, or more. The default is 1. </li>
<li> <tt>-d</tt>&nbsp;: allow instant rebinding to the same path
even if it has been used not long ago - this is the SO_REUSEADDR flag to
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/setsockopt.html">setsockopt()</a>
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/setsockopt.html">setsockopt()</a>
and is generally used with server programs. This is the default. Note that
<em>path</em> will be deleted if it already exists at program start time. </li>
<li> <tt>-D</tt>&nbsp;: disallow instant rebinding to the same path. </li>
@@ -87,7 +87,7 @@ be opened by the s6-fdholder-daemon process minus a few descriptors
needed for correct <a href="s6-fdholderd.html">s6-fdholderd</a>
operation. Before running s6-fdholder-daemon, make sure to
<a href="s6-softlimit.html">properly adjust</a> the
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_resource.h.html">number
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_resource.h.html">number
of openable files</a> of the current process. </li>
<li> <tt>-b&nbsp;<em>backlog</em></tt>&nbsp;: set a maximum of
<em>backlog</em> backlog connections on the socket. Extra
@@ -137,7 +137,7 @@ of s6-fdholderd applies to s6-fdholder-daemon as well; in particular,
make sure to properly
<a href="s6-fdholderd.html#configuration">configure the clients'
access rights</a>. </li>
- <li> s6-fdholder-daemon is meant to be used in a s6 run script, as
+ <li> s6-fdholder-daemon is meant to be used in an s6 run script, as
a supervised local service. It does not fork itself or write to syslog.
However, it can be run under any infrastructure, including other
supervision infrastructures, OpenRC, systemd, or SysV scripts. </li>
diff --git a/doc/s6-fdholder-delete.html b/doc/s6-fdholder-delete.html
index 89e29c7..ea6514f 100644
--- a/doc/s6-fdholder-delete.html
+++ b/doc/s6-fdholder-delete.html
@@ -56,7 +56,7 @@ wrong socket, for instance). </li>
<li> 1: the server denied the operation. The meaning of the error messages
is explained <a href="s6-fdholder-errorcodes.html">here</a>. </li>
<li> 100: wrong usage. </li>
- <li> 111: system call failed - that includes attempting to connect to a
+ <li> 111: system call failed - this includes attempting to connect to a
nonexistent socket, or one where no <a href="s6-fdholderd.html">s6-fdholderd</a>
daemon is listening. </li>
</ul>
@@ -68,7 +68,7 @@ daemon is listening. </li>
</pre>
<p>
-will tell a s6-fdholderd daemon listening on the
+will tell an s6-fdholderd daemon listening on the
<tt>/service/fdholderd/s</tt> socket to close the file descriptor
dentified as MYSOCKET.
</p>
diff --git a/doc/s6-fdholder-errorcodes.html b/doc/s6-fdholder-errorcodes.html
index e082b7b..46add36 100644
--- a/doc/s6-fdholder-errorcodes.html
+++ b/doc/s6-fdholder-errorcodes.html
@@ -20,7 +20,7 @@
<p>
The following error messages (and corresponding
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html">errno codes</a>)
+<a href="https://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.
@@ -32,7 +32,7 @@ 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>
+usually been wiped out before an 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
@@ -47,7 +47,7 @@ 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>
+<a href="https://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
diff --git a/doc/s6-fdholder-getdump.html b/doc/s6-fdholder-getdump.html
index 513d276..6d49f2c 100644
--- a/doc/s6-fdholder-getdump.html
+++ b/doc/s6-fdholder-getdump.html
@@ -38,7 +38,7 @@ environment.
<a href="s6-fdholderd.html">s6-fdholderd</a> server process listening on
<em>path</em>. </li>
<li> It retrieves a copy of the whole set of file descriptors
-stored in that daemon, including their identifiers and expiration dates. </li>
+stored in this daemon, including their identifiers and expiration dates. </li>
<li> It then executes into <em>prog...</em> with the additional open descriptors
and the additional environment variables. </li>
</ul>
@@ -60,7 +60,7 @@ wrong socket, for instance). </li>
<li> 1: the server denied the operation. The meaning of the error messages
is explained <a href="s6-fdholder-errorcodes.html">here</a>. </li>
<li> 100: wrong usage. </li>
- <li> 111: system call failed - that includes attempting to connect to a
+ <li> 111: system call failed - this includes attempting to connect to a
nonexistent socket, or one where no <a href="s6-fdholderd.html">s6-fdholderd</a>
daemon is listening. </li>
</ul>
@@ -82,10 +82,10 @@ open file descriptor. </li>
<li> <tt>S6_FDID_<em>i</em></tt>&nbsp;: contains the identifier of the
<em>i</em>th open file descriptor. </li>
<li> <tt>S6_FDLIMIT_<em>i</em></tt>&nbsp;: contains the expiration date of
-the <em>i</em>th open file descriptor, if applicable. That date is stored in
-<a href="http://cr.yp.to/libtai/tai64.html#tai64n">external TAI64N
+the <em>i</em>th open file descriptor, if applicable. This date is stored in
+<a href="https://cr.yp.to/libtai/tai64.html#tai64n">external TAI64N
format</a>.<br />
-If the file descriptor is not supposed to expire, that environment variable
+If the file descriptor is not supposed to expire, this environment variable
is not defined. </li>
</ul> </li>
</ul>
@@ -107,7 +107,7 @@ program does the same thing more efficiently.
<h2> Notes </h2>
<ul>
- <li> Getting the whole state of a s6-fdholderd daemon requires specific
+ <li> Getting the whole state of an s6-fdholderd daemon requires specific
privileges. Make sure you properly
<a href="s6-fdholderd.html#configuration">configure the s6-fdholderd
access rights</a> so your client can perform that operation. </li>
diff --git a/doc/s6-fdholder-list.html b/doc/s6-fdholder-list.html
index feea993..4dfe0ba 100644
--- a/doc/s6-fdholder-list.html
+++ b/doc/s6-fdholder-list.html
@@ -34,7 +34,7 @@
<a href="s6-fdholderd.html">s6-fdholderd</a> server process listening on
<em>path</em>. </li>
<li> It gets the list of identifiers corresponding to the currently held
-file descriptors. It prints that list to stdout, one per line. </li>
+file descriptors. It prints this list to stdout, one per line. </li>
</ul>
<h2> Options </h2>
@@ -54,7 +54,7 @@ wrong socket, for instance). </li>
<li> 1: the server denied the operation. The meaning of the error messages
is explained <a href="s6-fdholder-errorcodes.html">here</a>. </li>
<li> 100: wrong usage. </li>
- <li> 111: system call failed - that includes attempting to connect to a
+ <li> 111: system call failed - this includes attempting to connect to a
nonexistent socket, or one where no <a href="s6-fdholderd.html">s6-fdholderd</a>
daemon is listening. </li>
</ul>
diff --git a/doc/s6-fdholder-retrieve.html b/doc/s6-fdholder-retrieve.html
index a58d64e..3edc1fb 100644
--- a/doc/s6-fdholder-retrieve.html
+++ b/doc/s6-fdholder-retrieve.html
@@ -21,8 +21,8 @@
<p>
<tt>s6-fdholder-retrieve</tt> connects to a
<a href="s6-fdholderd.html">fd-holding daemon</a> listening on a
-Unix domain socket, and retrieves a file descriptor from that
-daemon, then executes a program with that file descriptor as the
+Unix domain socket, and retrieves a file descriptor from this
+daemon, then executes a program with this file descriptor as the
program's standard input.
</p>
@@ -63,7 +63,7 @@ wrong socket, for instance). </li>
<li> 1: the server denied the operation. The meaning of the error messages
is explained <a href="s6-fdholder-errorcodes.html">here</a>. </li>
<li> 100: wrong usage. </li>
- <li> 111: system call failed - that includes attempting to connect to a
+ <li> 111: system call failed - this includes attempting to connect to a
nonexistent socket, or one where no <a href="s6-fdholderd.html">s6-fdholderd</a>
daemon is listening. </li>
</ul>
@@ -77,7 +77,7 @@ daemon is listening. </li>
<p>
will retrieve a file descriptor stored under the MYSOCKET identifier in
the s6-fdholderd daemon listening on the <tt>/service/fdholderd/s</tt>
-socket, and execute into <tt>s6-ipcserverd cat</tt> with that file
+socket, and execute into <tt>s6-ipcserverd cat</tt> with this file
descriptor as stdin. In this case, if MYSOCKET referred to a Unix domain
socket, <a href="s6-ipcserverd.html">s6-ipcserverd</a> will then accept
client connections on it and spawn a <tt>cat</tt> program for every
diff --git a/doc/s6-fdholder-setdump.html b/doc/s6-fdholder-setdump.html
index 297306c..df8c4b5 100644
--- a/doc/s6-fdholder-setdump.html
+++ b/doc/s6-fdholder-setdump.html
@@ -56,7 +56,7 @@ wrong socket, for instance). </li>
<li> 1: the server denied the operation. The meaning of the error messages
is explained <a href="s6-fdholder-errorcodes.html">here</a>. </li>
<li> 100: wrong usage. </li>
- <li> 111: system call failed - that includes attempting to connect to a
+ <li> 111: system call failed - this includes attempting to connect to a
nonexistent socket, or one where no <a href="s6-fdholderd.html">s6-fdholderd</a>
daemon is listening. </li>
</ul>
@@ -69,7 +69,7 @@ already open in the <tt>s6-fdholder-setdump</tt> program; also, <tt>s6-fdholder-
should have certain environment variables that describe that set of file
descriptors. The format of the environment is the same as the one set by
<a href="s6-fdholder-getdump.html">s6-fdholder-getdump</a>. </li>
- <li> Setting the whole state of a s6-fdholderd daemon requires specific
+ <li> Setting the whole state of an s6-fdholderd daemon requires specific
privileges. Make sure you properly
<a href="s6-fdholderd.html#configuration">configure the s6-fdholderd
access rights</a> so your client can perform that operation. </li>
diff --git a/doc/s6-fdholder-store.html b/doc/s6-fdholder-store.html
index d0c3197..ceff696 100644
--- a/doc/s6-fdholder-store.html
+++ b/doc/s6-fdholder-store.html
@@ -47,7 +47,7 @@ By default, <em>fd</em> is 0 (i.e. the program's stdin will be stored). </li>
<li> <tt>-T&nbsp;<em>fdtimeout</em></tt>&nbsp;: the descriptor is stored with
an expiration time of <em>fdtimeout</em> milliseconds, which means the
<a href="s6-fdholderd.html">s6-fdholderd</a> daemon will close and get rid of
-the descriptor after that time. By default, <em>fdtimeout</em> is 0, which
+the descriptor after this time. By default, <em>fdtimeout</em> is 0, which
means infinite - no expiration time. </li>
<li> <tt>-t&nbsp;<em>timeout</em></tt>&nbsp;: if the operation cannot be
processed in <em>timeout</em> milliseconds, then fail with an error message.
@@ -63,7 +63,7 @@ wrong socket, for instance). </li>
<li> 1: the server denied the operation. The meaning of the error messages
is explained <a href="s6-fdholder-errorcodes.html">here</a>. </li>
<li> 100: wrong usage. </li>
- <li> 111: system call failed - that includes attempting to connect to a
+ <li> 111: system call failed - this includes attempting to connect to a
nonexistent socket, or one where no <a href="s6-fdholderd.html">s6-fdholderd</a>
daemon is listening. </li>
</ul>
diff --git a/doc/s6-fdholder-transferdump.html b/doc/s6-fdholder-transferdump.html
index da74069..f0a0097 100644
--- a/doc/s6-fdholder-transferdump.html
+++ b/doc/s6-fdholder-transferdump.html
@@ -65,7 +65,7 @@ is explained <a href="s6-fdholder-errorcodes.html">here</a>. </li>
<li> 2: the destination server denied the operation. The meaning of the error messages
is explained <a href="s6-fdholder-errorcodes.html">here</a>. </li>
<li> 100: wrong usage. </li>
- <li> 111: system call failed - that includes attempting to connect to a
+ <li> 111: system call failed - this includes attempting to connect to a
nonexistent socket, or one where no <a href="s6-fdholderd.html">s6-fdholderd</a>
daemon is listening. </li>
</ul>
diff --git a/doc/s6-fdholderd.html b/doc/s6-fdholderd.html
index 4b4794b..0278616 100644
--- a/doc/s6-fdholderd.html
+++ b/doc/s6-fdholderd.html
@@ -84,7 +84,7 @@ It is impossible to set it higher than the number of files that can
be opened by the s6-fdholderd process, minus a few descriptors
needed for correct operation. Before running s6-fdholderd, make sure to
<a href="s6-softlimit.html">properly adjust</a> the
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_resource.h.html">number
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_resource.h.html">number
of openable files</a> of the current process. </li>
<li> <tt>-t&nbsp;<em>clienttimeout</em></tt>&nbsp;: disconnect a client
if it's in the middle of an operation and it has not written or read any
@@ -96,7 +96,7 @@ before exiting after receiving a SIGTERM. By default, <em>lameducktimeout</em>
is 0, which means infinite. </li>
<li> <tt>-x&nbsp;<em>rulesfile</em></tt>&nbsp;: read access rights
configuration from
-<a href="http://en.wikipedia.org/wiki/Cdb_%28software%29">CDB</a>
+<a href="https://en.wikipedia.org/wiki/Cdb_%28software%29">CDB</a>
file <em>rulesfile</em>. </li>
<li> <tt>-i&nbsp;<em>rulesdir</em></tt>&nbsp;: read access rights
configuration from the filesystem in directory <em>rulesdir</em>. </li>
@@ -148,7 +148,7 @@ it is possible to reuse the same identifier. </li>
<a href="s6-fdholder-daemon.html">s6-fdholder-daemon</a>), it is necessary
to configure it. This is done by a series of rules, or <em>ruleset</em>,
stored in either a <em>rulesfile</em> in the
-<a href="http://en.wikipedia.org/wiki/Cdb_%28software%29">CDB</a> format,
+<a href="https://en.wikipedia.org/wiki/Cdb_%28software%29">CDB</a> format,
or in a <em>rulesdir</em>, i.e. a directory in the filesystem following a
certain format. s6-fdholderd will refuse to run if neither the <tt>-i</tt>
nor the <tt>-x</tt> option has been provided.
@@ -210,8 +210,8 @@ file named <tt>S6_FDHOLDER_STORE_REGEX</tt> is found is the <tt>env/</tt>
subdirectory of one of the subdirectories checked by
<a href="libs6/accessrules.html#uidgid">s6_accessrules_keycheck_uidgid</a>.
This file should contain a single line, which will be interpreted as an
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">extended
-regular expression</a> by s6-fdholderd; the regular expression describes the
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">Extended
+Regular Expression</a> by s6-fdholderd; the regular expression describes the
set of identifiers that the client is allowed to use to store file
descriptors. For instance, <tt>^unix:/tmp/</tt> indicates that a client
that matches this rule will be allowed to store or delete file descriptors
@@ -222,8 +222,8 @@ file named <tt>S6_FDHOLDER_RETRIEVE_REGEX</tt> is found is the <tt>env/</tt>
subdirectory of one of the subdirectories checked by
<a href="libs6/accessrules.html#uidgid">s6_accessrules_keycheck_uidgid</a>.
This file should contain a single line, which will be interpreted as an
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">extended
-regular expression</a> by s6-fdholderd; the regular expression describes the
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">Extended
+Regular Expression</a> by s6-fdholderd; the regular expression describes the
set of identifiers that the client is allowed to use to retrieve file
descriptors. For instance, <tt>^unix:/tmp/</tt> indicates that a client
that matches this rule will be allowed to retrieve file descriptors that are
@@ -253,7 +253,7 @@ to a dedicated uid that is only used to perform dump transfers. </li>
<h3> Configuration examples </h3>
<p>
- Assuming you want to run a s6-fdholderd daemon in the
+ Assuming you want to run an s6-fdholderd daemon in the
<tt>/service/fdholder</tt> directory with the <tt>-i rules</tt> option,
you should:
</p>
diff --git a/doc/s6-ftrig-listen.html b/doc/s6-ftrig-listen.html
index 5726fa6..76adcc2 100644
--- a/doc/s6-ftrig-listen.html
+++ b/doc/s6-ftrig-listen.html
@@ -40,8 +40,8 @@ to <em>fifodir2</em> with the regexp <em>regexp2</em>, and so on. </li>
<li> It then forks and exec <em>prog...</em> with all its arguments </li>
<li> It waits for the series of events received on <em>fifodir-i</em>
to match <em>regexp-i</em>, The <em>regexp-i</em> must be
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">extended
-regular expressions</a>. </li>
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">Extended
+Regular Expressions</a>. </li>
<li> When the series of read events matches the <em>regexp</em>s,
s6-ftrig-listen exits 0. </li>
</ul>
diff --git a/doc/s6-ftrig-listen1.html b/doc/s6-ftrig-listen1.html
index e780b4e..c2349f1 100644
--- a/doc/s6-ftrig-listen1.html
+++ b/doc/s6-ftrig-listen1.html
@@ -40,8 +40,8 @@ started <em>after</em> there is a listener for those events.
<li> It then forks and exec <em>prog...</em> with all its arguments </li>
<li> It waits for the series of events received on <em>fifodir</em>
to match <em>regexp</em>. <em>regexp</em> must be an
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">extended
-regular expression</a>. </li>
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">Extended
+Regular Expression</a>. </li>
<li> When the series of read events matches <em>regexp</em>,
s6-ftrig-listen1 prints the last event it received (one byte) to stdout,
then exits 0. </li>
diff --git a/doc/s6-ftrig-wait.html b/doc/s6-ftrig-wait.html
index daacfb2..fe7e585 100644
--- a/doc/s6-ftrig-wait.html
+++ b/doc/s6-ftrig-wait.html
@@ -33,8 +33,8 @@ waits for a pattern of events to occur on this fifodir.
<li> s6-ftrig-wait subscribes to <em>fifodir</em> </li>
<li> It waits for the series of events received on <em>fifodir</em>
to match <em>regexp</em>. <em>regexp</em> must be an
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">extended
-regular expression</a>. </li>
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">Extended
+Regular Expression</a>. </li>
<li> When the series of read events matches <em>regexp</em>,
s6-ftrig-wait prints the last event it received (one byte) to stdout,
then exits 0. </li>
diff --git a/doc/s6-ioconnect.html b/doc/s6-ioconnect.html
index 1ea9a5c..2135956 100644
--- a/doc/s6-ioconnect.html
+++ b/doc/s6-ioconnect.html
@@ -63,7 +63,7 @@ for writing to correctly transmit an EOF. </li>
<ul>
<li> Transmitting EOF across full-duplex sockets
-<a href="http://cr.yp.to/tcpip/twofd.html">is ugly</a>. The right thing
+<a href="https://cr.yp.to/tcpip/twofd.html">is ugly</a>. The right thing
in every case cannot be automatically determined, so it is up to the user
to mention that a socket must be shut down. Most of the time, though,
shutting down sockets after EOF <em>is</em> the right thing to do, so
@@ -77,7 +77,7 @@ for testing purposes. <tt>s6-ioconnect</tt> is to s6-tcpclient as
what it gets. </li>
<li> On modern Linux systems, s6-ioconnect will perform zero-copy
data transmission, via the
-<a href="http://man7.org/linux/man-pages/man2/splice.2.html">splice</a>
+<a href="https://man7.org/linux/man-pages/man2/splice.2.html">splice</a>
system call. </li>
<li> The s6-ioconnect utility was once part of the
<a href="//skarnet.org/software/s6-networking/">s6-networking</a>
diff --git a/doc/s6-ipcclient.html b/doc/s6-ipcclient.html
index 2dfd28e..a1be2d7 100644
--- a/doc/s6-ipcclient.html
+++ b/doc/s6-ipcclient.html
@@ -20,7 +20,7 @@
<p>
<tt>s6-ipcclient</tt> is an
-<a href="http://cr.yp.to/proto/ucspi.txt">UCSPI client tool</a> for
+<a href="https://cr.yp.to/proto/ucspi.txt">UCSPI client tool</a> for
Unix domain sockets. It connects to a socket, then executes into
a program.
</p>
diff --git a/doc/s6-ipcserver-access.html b/doc/s6-ipcserver-access.html
index 2d35d84..10da347 100644
--- a/doc/s6-ipcserver-access.html
+++ b/doc/s6-ipcserver-access.html
@@ -67,7 +67,7 @@ its parent:
<ul>
<li> ${PROTO}LOCALPATH: set to the local "address" of the socket, as
reported by the
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/getsockname.html">getsockname()</a>
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/getsockname.html">getsockname()</a>
system call, truncated to 99 characters max. </li>
</ul>
@@ -98,7 +98,7 @@ looking it up via getsockname(). </li>
<li> <tt>-i&nbsp;<em>rulesdir</em></tt>&nbsp;: check client credentials
against a filesystem-based database in the <em>rulesdir</em> directory. </li>
<li> <tt>-x&nbsp;<em>rulesfile</em></tt>&nbsp;: check client credentials
-against a <a href="http://en.wikipedia.org/wiki/Cdb_(software)">cdb</a>
+against a <a href="https://en.wikipedia.org/wiki/Cdb_(software)">cdb</a>
database in the <em>rulesfile</em> file. <tt>-i</tt> and <tt>-x</tt> are
mutually exclusive. If none of those options is given, no credential checking will be
performed, and a warning will be emitted on every connection if
@@ -118,7 +118,7 @@ if the <tt>-i</tt> option has been given. This option is the most flexible
one: the directory format is simple enough for scripts to understand and
modify it, and the ruleset can be changed dynamically. This is practical,
for instance, for roaming users. </li>
-<li> or in a <a href="http://en.wikipedia.org/wiki/Cdb_(software)">CDB
+<li> or in a <a href="https://en.wikipedia.org/wiki/Cdb_(software)">CDB
file</a>, if the <tt>-x</tt> option has been given. This option is the most
efficient one if the ruleset is static enough: a lot less system calls are
needed to perform searches in a CDB than in the filesystem. </li>
diff --git a/doc/s6-ipcserver-socketbinder.html b/doc/s6-ipcserver-socketbinder.html
index d4d120a..bdc3d06 100644
--- a/doc/s6-ipcserver-socketbinder.html
+++ b/doc/s6-ipcserver-socketbinder.html
@@ -33,7 +33,7 @@ socket, then executes a program.
<li> s6-ipcserver-socketbinder creates a Unix domain socket
and binds it to <em>path</em>. It prepares the socket to accept
connections by calling
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/listen.html">listen()</a>. </li>
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/listen.html">listen()</a>. </li>
<li> It then execs into <em>prog...</em> with the open socket
as its standard input. </li>
</ul>
@@ -43,7 +43,7 @@ as its standard input. </li>
<ul>
<li> <tt>-d</tt>&nbsp;: allow instant rebinding to the same path
even if it has been used not long ago - this is the SO_REUSEADDR flag to
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/setsockopt.html">setsockopt()</a>
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/setsockopt.html">setsockopt()</a>
and is generally used with server programs. This is the default. Note that
<em>path</em> will be deleted if it already exists at program start time. </li>
<li> <tt>-D</tt>&nbsp;: disallow instant rebinding to the same path. </li>
diff --git a/doc/s6-ipcserver.html b/doc/s6-ipcserver.html
index 13e11e9..840e09c 100644
--- a/doc/s6-ipcserver.html
+++ b/doc/s6-ipcserver.html
@@ -20,7 +20,7 @@
<p>
<tt>s6-ipcserver</tt> is an
-<a href="http://cr.yp.to/proto/ucspi.txt">UCSPI server tool</a> for
+<a href="https://cr.yp.to/proto/ucspi.txt">UCSPI server tool</a> for
Unix domain sockets, i.e. a super-server.
It accepts connections from clients, and forks a
program to handle each connection.
@@ -86,7 +86,7 @@ programs to check when the server is ready to accept connections. </li>
<li> <tt>-v</tt>&nbsp;: be verbose. </li>
<li> <tt>-d</tt>&nbsp;: allow instant rebinding to the same path
even if it has been used not long ago - this is the SO_REUSEADDR flag to
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/setsockopt.html">setsockopt()</a>
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/setsockopt.html">setsockopt()</a>
and is generally used with server programs. This is the default. Note that
<em>path</em> will be deleted if it already exists at program start time. </li>
<li> <tt>-D</tt>&nbsp;: disallow instant rebinding to the same path. </li>
diff --git a/doc/s6-log.html b/doc/s6-log.html
index 9384fa9..bd6d168 100644
--- a/doc/s6-log.html
+++ b/doc/s6-log.html
@@ -20,7 +20,7 @@
<p>
s6-log is a reliable logging program with automated log rotation, similar to
-daemontools' <a href="http://cr.yp.to/daemontools/multilog.html">multilog</a>,
+daemontools' <a href="https://cr.yp.to/daemontools/multilog.html">multilog</a>,
with full POSIX regular expression support.
</p>
@@ -51,7 +51,7 @@ in order to process log lines. </li>
<li> <tt>-b</tt>&nbsp;: blocking mode. With this option, s6-log stops
reading its standard input while it has unflushed buffers. This ensures that
every log line has been fully processed before reading the next one; this is also
-<a href="http://cr.yp.to/daemontools/multilog.html">multilog</a>'s behaviour.
+<a href="https://cr.yp.to/daemontools/multilog.html">multilog</a>'s behaviour.
By default, s6-log keeps reading from stdin even if its buffers still
contain data. <tt>-b</tt> is safer, but may slow down your service; the default
is faster, but may lead to unbound memory use if you have a lot of output to
@@ -99,7 +99,7 @@ to make sure only one instance is running at the same time. </li>
If <tt>current</tt> has the executable-by-user flag, it means that no
s6-log process is currently writing to it and the previous
s6-log process managed to cleanly finalize it. If it does not,
-either a s6-log process is writing to it or the previous one
+either an s6-log process is writing to it or the previous one
has been interrupted without finalizing it. </li>
<li> <tt>state</tt>: last processor's output, see below. </li>
<li> <tt>previous</tt>: a rotation is happening in that logdir. </li>
@@ -185,7 +185,7 @@ line is selected.
<ul>
<li> <strong>+<em>regexp</em></strong>: select yet-unselected lines that match <em>regexp</em>, which must be a
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">POSIX
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04">POSIX
Extended Regular Expression</a>. </li>
<li> <strong>-<em>regexp</em></strong>: deselect yet-selected lines that match <em>regexp</em>, which must be a
POSIX Extended Regular Expression. </li>
@@ -250,7 +250,7 @@ timestamp</a> (and a space) before being processed by the next action
directive. Giving the <tt>t</tt> directive several times before an action
directive has no effect. </li>
<li> <strong>T</strong>: the selected line will be prepended with a
-<a href="http://en.wikipedia.org/wiki/ISO_8601">ISO 8601
+<a href="https://en.wikipedia.org/wiki/ISO_8601">ISO 8601
timestamp</a> for combined date and time representing <em>local time</em>
according to the system's timezone, with a space (not a 'T')
between the date and the time and two spaces after the time, before being
@@ -333,7 +333,7 @@ a maximum of 30 such files or a total of 15 MB of compressed archive files. </li
</ul>
-<h2> Why use execlineb to interpret the "processor" string ? </h2>
+<h2> Why use execlineb to interpret the "processor" string? </h2>
<p>
Because it is <em>exactly</em> what
@@ -346,7 +346,7 @@ is for.
to be able to run a complete command line, with an executable name and its
arguments. </li>
<li> We could interpret the <em>processor</em> string via <tt>/bin/sh</tt>.
-This is what <a href="http://cr.yp.to/daemontools/multilog.html">multilog</a>
+This is what <a href="https://cr.yp.to/daemontools/multilog.html">multilog</a>
does. However, <tt>/bin/sh</tt>, despite being the traditional Unix interpreter,
is overpowered for this. We don't need a complete shell script interpreter:
most <em>processor</em> commands will be very simple, with only two or three
@@ -363,7 +363,7 @@ reason to use the
seriously, it <em>really</em> is the perfect tool for the job. </li>
</ul>
-<h2> Why have another logging mechanism ? </h2>
+<h2> Why have another logging mechanism? </h2>
<p>
Because the syslog mechanism and all its implementations (save one) suck.
@@ -375,7 +375,7 @@ I'm not being judgmental; I'm just stating the obvious.
</a>
<p>
-<a href="http://blog.gerhards.net/2007/08/why-does-world-need-another-syslogd.html">When
+<a href="https://blog.gerhards.net/2007/08/why-does-world-need-another-syslogd.html">When
asked why he started rsyslog</a>, Rainer Gerhards came up with a lot of
hand-waving and not a single word about technical points. There is a
reason for that: rsyslog is forked from sysklogd! So, no matter how
@@ -416,7 +416,7 @@ up a disk before a rotation occurs. I am all for separating tasks that
can be separated, but there is no choice here: <em>logging and log
rotation management must be done <strong>by the same tool</strong></em>.
Only a few non-mainstream implementations of syslogd do this, including the
-<a href="http://busybox.net/">Busybox</a> one - and that is a
+<a href="https://busybox.net/">Busybox</a> one - and that is a
feature added by the Busybox developers who are aware of the problem
but want to maintain compatibility with the historical syslogd.
Neither syslogd (-ng or not) nor rsyslogd manages its log files: that's a
@@ -425,14 +425,14 @@ flaw that no amount of external tools is going to fix. </li>
complex processes running as root mean: bugs turning into security holes. </li>
<li> syslog requires a syslogd service, and fails otherwise. A syslogd
service may not be present, it may fail... or it may want to log stuff.
-Who's going to take care of syslogd's error messages ? </li>
+Who's going to take care of syslogd's error messages? </li>
</ul>
<p>
syslog is slow, it's unsafe, and it's incomplete. The only reason people
use it is because it's historical, it exists, and there hasn't been any
serious alternative yet, except maybe
-<a href="http://cr.yp.to/daemontools/multilog.html">multilog</a>, which
+<a href="https://cr.yp.to/daemontools/multilog.html">multilog</a>, which
s6-log improves upon.
</p>
@@ -502,7 +502,7 @@ system console. </li>
</ul>
<a name="howtouse">
-<h3> What does s6-log have to do with all this ? </h3>
+<h3> What does s6-log have to do with all this? </h3>
</a>
<p>
@@ -524,7 +524,7 @@ not waste resources. </li>
is as powerful as a traditional syslogd. </li>
<li> s6-log can log to a RAM filesystem and thus is suitable as a
catch-all logger. Clever tricks like Upstart's <em>logd</em> or daemontools'
-<a href="http://cr.yp.to/daemontools/readproctitle.html">readproctitle</a>
+<a href="https://cr.yp.to/daemontools/readproctitle.html">readproctitle</a>
are just that: tricks. s6-log gives a unified interface to all of
your system's loggers. </li>
</ul>
diff --git a/doc/s6-svc.html b/doc/s6-svc.html
index c1e617f..cce152a 100644
--- a/doc/s6-svc.html
+++ b/doc/s6-svc.html
@@ -150,7 +150,7 @@ process is <a href="s6-log.html">s6-log</a>, this triggers a log rotation.
<ul>
<li> s6-svc writes control commands into the <tt><em>servicedir</em>/supervise/control</tt>
-FIFO. A s6-supervise process running on <em>servicedir</em> will be listening to this FIFO,
+FIFO. An s6-supervise process running on <em>servicedir</em> will be listening to this FIFO,
and will read and interpret those commands. </li>
<li> When invoked with one of the <tt>-w</tt> options, s6-svc executes into
<a href="s6-svlisten1.html">s6-svlisten1</a>, which will listen to service state
diff --git a/doc/s6-svscan-1.html b/doc/s6-svscan-1.html
index 441e996..a57e199 100644
--- a/doc/s6-svscan-1.html
+++ b/doc/s6-svscan-1.html
@@ -93,7 +93,7 @@ stages and delegating every stage's work to a different script that is
<p>
One init to rule them all?
-<a href="http://en.wikipedia.org/wiki/Porgy_and_Bess">It ain't necessarily so!</a>
+<a href="https://en.wikipedia.org/wiki/Porgy_and_Bess">It ain't necessarily so!</a>
</p>
<a name="stage2">
@@ -102,7 +102,7 @@ stages and delegating every stage's work to a different script that is
<p>
init does not have the right to die, but fortunately, <em>it has the right
-to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/execve.html">execve()</a>!</em>
+to <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/execve.html">execve()</a>!</em>
During stage 2, why use precious RAM, or at best, swap space, to store data
that are only relevant to stages 1 or 3? It only makes sense to have an
init process that handles stage 1, then executes into an init process that
diff --git a/doc/s6-svscan.html b/doc/s6-svscan.html
index fc54cd9..3a93e00 100644
--- a/doc/s6-svscan.html
+++ b/doc/s6-svscan.html
@@ -32,7 +32,7 @@ the root or a branch of a <em>supervision tree</em>.
<ul>
<li> If given a <em>scandir</em> argument, s6-svscan switches to it. Else it uses
-its current directory as <a href="scandir.html">scan directory</a>. </li>
+its current directory as the <a href="scandir.html">scan directory</a>. </li>
<li> It exits 100 if another s6-svscan process is already monitoring this
<a href="scandir.html">scan directory</a>. </li>
<li> If the <tt>./.s6-svscan</tt> control directory does not exist,
@@ -174,7 +174,7 @@ command, s6-svscan runs a <em>reaper</em> routine.
<p>
The reaper acknowledges (via some
-<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wait.html">wait()</a>
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/wait.html">wait()</a>
function), without blocking, every terminated child of s6-svscan, even ones it does not
know it has. This is especially important when <a href="s6-svscan-1.html">s6-svscan is
run as process 1</a>.
@@ -204,7 +204,7 @@ It skips names starting with dots. It will not create services for more than
<p>
For every new subdirectory <em>dir</em> it finds, the scanner spawns a
<a href="s6-supervise.html">s6-supervise</a> process on it. If
-<em>dir</em><tt>/log</tt> exists, it spawns a s6-supervise process on
+<em>dir</em><tt>/log</tt> exists, it spawns an s6-supervise process on
both <em>dir</em> and <em>dir</em><tt>/log</tt>, and maintains a
never-closing pipe from the service's stdout to the logger's stdin.
This is <em>starting the service</em>, with or without a corresponding
diff --git a/doc/s6-svscanctl.html b/doc/s6-svscanctl.html
index 6b4bd2e..ae0f8ee 100644
--- a/doc/s6-svscanctl.html
+++ b/doc/s6-svscanctl.html
@@ -101,7 +101,7 @@ script with the <tt>reboot</tt> argument.
<p>
s6-svscanctl writes control commands into the <tt><em>svscandir</em>/.s6-svscan/control</tt>
-FIFO. A s6-svscan process running on <em>svscandir</em> will be listening to this FIFO,
+FIFO. An s6-svscan process running on <em>svscandir</em> will be listening to this FIFO,
and will read and interpret those commands.
</p>
diff --git a/doc/s6-svstat.html b/doc/s6-svstat.html
index d90e1f1..ba62dbb 100644
--- a/doc/s6-svstat.html
+++ b/doc/s6-svstat.html
@@ -106,9 +106,9 @@ killed by a signal, <tt>NA</tt> is printed instead. </li>
<li> <tt>signum</tt>: print the number of the signal the last <tt>./run</tt> process was
killed with. If the service is currently up, or the last <tt>./run</tt> process was not
killed by a signal, <tt>-1</tt> is printed instead. </li>
- <li> <tt>updownsince</tt>: print a <a href="http://cr.yp.to/libtai/tai64.html">TAI64N
+ <li> <tt>updownsince</tt>: print a <a href="https://cr.yp.to/libtai/tai64.html">TAI64N
label</a> representing the absolute date when the service last changed states. </li>
- <li> <tt>readysince</tt>: print a <a href="http://cr.yp.to/libtai/tai64.html">TAI64N
+ <li> <tt>readysince</tt>: print a <a href="https://cr.yp.to/libtai/tai64.html">TAI64N
label</a> representing the absolute date when the service last became ready. Note that
this can either mean "service readiness" (if the service is currently up and ready), or
"down readiness", i.e. the last time when the service was down and ready to be started
diff --git a/doc/scandir.html b/doc/scandir.html
index ad4fa78..a491426 100644
--- a/doc/scandir.html
+++ b/doc/scandir.html
@@ -34,7 +34,7 @@ listed in the scan directory will be supervised.
<p>
There is normally only one scan directory per system, although nothing
prevents a system administrator from having more.
-<a href="http://cr.yp.to/daemontools.html">daemontools</a> traditionally
+<a href="https://cr.yp.to/daemontools.html">daemontools</a> traditionally
uses <tt>/service</tt>, and <a href="http://smarden.org/runit/">runit</a>
traditionally uses <tt>/etc/service</tt>. s6 does not care where your
scan directory is, but I would advise <tt>/service</tt> for compatibility
@@ -82,7 +82,7 @@ system - and on your personal preference too.
</p>
<p>
- Standard <a href="http://cr.yp.to/daemontools.html">daemontools</a> and
+ Standard <a href="https://cr.yp.to/daemontools.html">daemontools</a> and
<a href="http://smarden.org/runit/">runit</a> installations like to have
a fixed scan directory containing symlinks to service directories located
in the service repository. In other words, the service repository contains
@@ -96,7 +96,7 @@ subdirectories in every managed service directory. This can be achieved for
instance via symlinks, or by having the service repository stored on a writable
filesystem. </li>
<li> The scan program (<a href="s6-svscan.html">s6-svscan</a>,
-<a href="http://cr.yp.to/daemontools/svscan.html">svscan</a>,
+<a href="https://cr.yp.to/daemontools/svscan.html">svscan</a>,
<a href="http://smarden.org/runit/runsvdir.8.html">runsvdir</a>...) is
started late enough for all the necessary filesystems to be mounted. </li>
</ul>
diff --git a/doc/servicedir.html b/doc/servicedir.html
index 044406e..a7b9dd1 100644
--- a/doc/servicedir.html
+++ b/doc/servicedir.html
@@ -71,7 +71,7 @@ to log <em>stderr</em> as well, so the run script should make sure that its
stderr goes into the log pipe. This
is achieved by <tt><a href="//skarnet.org/software/execline/fdmove.html">fdmove</a>
-c 2 1</tt> in <a href="//skarnet.org/software/execline/">execline</a>,
-and <tt>exec 2&gt;&amp;1</tt> in <a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sh.html">shell</a>.
+and <tt>exec 2&gt;&amp;1</tt> in <a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sh.html">shell</a>.
</li>
<li> adjust the environment for your <em>foo</em> daemon. Normally the run script
inherits its environment from <a href="s6-supervise.html">s6-supervise</a>,
@@ -209,7 +209,7 @@ directory.
</p>
<a name="where">
- <h2> Where to store my service directories&nbsp;? </h2>
+ <h2> Where should I store my service directories? </h2>
</a>
<p>
@@ -241,7 +241,7 @@ collection. This is the easy setup, not requiring an external init system
to mount your filesystems - however, it requires your root filesystem to be
read-write, which is unacceptable if you are concerned with reliability - if
you are, for instance, designing an embedded platform. </li>
- <li> <a href="http://code.dogmap.org/">Some people</a> like to have
+ <li> <a href="https://code.dogmap.org/">Some people</a> like to have
their service directories in a read-only filesystem, with <tt>supervise</tt>
symlinks pointing to various places in writable filesystems. This setup looks
a bit complex to me: it requires careful handling of the writable
diff --git a/doc/socket-activation.html b/doc/socket-activation.html
index d5479ae..410ede5 100644
--- a/doc/socket-activation.html
+++ b/doc/socket-activation.html
@@ -25,7 +25,7 @@ advocates that mixes a couple useful architecture concepts and several
horrible ideas, for a very minor speed benefit. Read
<a href="//skarnet.org/cgi-bin/archive.cgi?2:mss:423:oanakciaccabjicoagef">this mail</a>
and
-<a href="http://forums.gentoo.org/viewtopic-t-994548-postdays-0-postorder-asc-start-25.html#7581522">this
+<a href="https://forums.gentoo.org/viewtopic-t-994548-postdays-0-postorder-asc-start-25.html#7581522">this
post</a> for details.
</p>
diff --git a/doc/why.html b/doc/why.html
index 3ce1612..83647cb 100644
--- a/doc/why.html
+++ b/doc/why.html
@@ -26,14 +26,14 @@
<li> Good (?) old System V init, which can be made to supervise services if you perform <tt>/etc/inittab</tt> voodoo.
BSD init can also be used the same way with the <tt>/etc/ttys</tt> file, but for some reason, nobody among BSD
developers is using <tt>/etc/ttys</tt> to this purpose, so I won't consider BSD init here. </li>
- <li> <a href="http://cr.yp.to/daemontools.html">daemontools</a>, the pioneer </li>
- <li> <a href="http://untroubled.org/daemontools-encore/">daemontools-encore</a>, Bruce Guenter's upgrade to daemontools </li>
+ <li> <a href="https://cr.yp.to/daemontools.html">daemontools</a>, the pioneer </li>
+ <li> <a href="https://untroubled.org/daemontools-encore/">daemontools-encore</a>, Bruce Guenter's upgrade to daemontools </li>
<li> <a href="http://smarden.org/runit/">runit</a>, Gerrit Pape's suite, well-integrated with Debian </li>
<li> <a href="http://b0llix.net/perp/">perp</a>, Wayne Marshall's take on supervision </li>
<li> Integrated init systems providing a lot of features, process supervision being one of them.
-For instance, <a href="http://upstart.ubuntu.com/">Upstart</a>, MacOS X's
-<a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/launchd.8.html">launchd</a>,
-and Fedora's <a href="http://freedesktop.org/wiki/Software/systemd">systemd</a>. </li>
+For instance, <a href="https://upstart.ubuntu.com/">Upstart</a>, MacOS X's
+<a href="https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/launchd.8.html">launchd</a>,
+and Fedora's <a href="https://freedesktop.org/wiki/Software/systemd">systemd</a>. </li>
</ul>
<p>
@@ -67,7 +67,7 @@ never wakes up unless it receives a command via s6-svscanctl. </li>
<li> System V init <em>is</em> process 1, so no problem here. </li>
<li> Integrated init systems, by definition, provide a process 1. </li>
<li> daemontools was not designed to take over init, although
-<a href="http://code.dogmap.org./svscan-1/">it can be made to work</a> with
+<a href="https://code.dogmap.org./svscan-1/">it can be made to work</a> with
enough hacking skills. Same thing with daemontools-encore. </li>
<li> runit provides an <em>init</em> functionality, but the mechanism is
separate from the supervision itself; the <tt>runit</tt> process, not the
@@ -102,7 +102,9 @@ process 1 against libdbus. This is insane.
Process 1 should be <em>absolutely stable</em>, it should be guaranteed
to never crash, so the whole of its source code should be under control. At
Upstart's level of complexity, those goals are outright impossible to achieve,
-so this approach is flawed by design. </li>
+so this approach is flawed by design. It is a shame, because the concepts
+and ideas behind Upstart are <em>good</em> and <em>sound</em>; it's the
+implementation choices that are its downfall. </li>
<li> launchd suffers from the same kind of problems. Example: Services
running under launchd must be configured
<a href="https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html">using
@@ -163,10 +165,10 @@ and instantly respond to commands they may receive. <tt>s6-supervise</tt> has
even been implemented as a full deterministic finite automaton, to ensure it
always does the right thing under any circumstance. Other supervision suites
do not achieve that for now. </li>
- <li> daemontools' <a href="http://cr.yp.to/daemontools/svscan.html">svscan</a>
+ <li> daemontools' <a href="https://cr.yp.to/daemontools/svscan.html">svscan</a>
maintains an open pipe between a daemon and its logger, so even if the daemon,
the logger, <em>and</em> both
-<a href="http://cr.yp.to/daemontools/supervise.html">supervise</a> processes
+<a href="https://cr.yp.to/daemontools/supervise.html">supervise</a> processes
die, the pipe is still the same so <em>no logs are lost, ever</em>, unless
svscan itself dies. </li>
<li> runit has only one supervisor, <a href="http://smarden.org/runit/runsv.8.html">runsv</a>,