summaryrefslogtreecommitdiff
path: root/doc/libs6/s6lockd.html
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2023-09-11 08:13:01 +0000
committerLaurent Bercot <ska@appnovation.com>2023-09-11 08:13:01 +0000
commitbc3863eaf3e4ae92eac8cd3ce0ca9dcb8915fc36 (patch)
tree9c6d891677e1d48aa4219636bff1c103d9509a7d /doc/libs6/s6lockd.html
parentddc088fba6016ae839afaa208b0a441869dc936f (diff)
downloads6-bc3863eaf3e4ae92eac8cd3ce0ca9dcb8915fc36.tar.xz
Better s6-setlock; delete the s6lock subsystem
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'doc/libs6/s6lockd.html')
-rw-r--r--doc/libs6/s6lockd.html75
1 files changed, 0 insertions, 75 deletions
diff --git a/doc/libs6/s6lockd.html b/doc/libs6/s6lockd.html
deleted file mode 100644
index 089de57..0000000
--- a/doc/libs6/s6lockd.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<html>
- <head>
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <meta http-equiv="Content-Language" content="en" />
- <title>s6: the s6lockd internal program</title>
- <meta name="Description" content="s6: the s6lockd internal program" />
- <meta name="Keywords" content="s6 s6lockd lockd asynchronous timed lock daemon" />
- <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
- </head>
-<body>
-
-<p>
-<a href="index.html">libs6</a><br />
-<a href="../">s6</a><br />
-<a href="//skarnet.org/software/">Software</a><br />
-<a href="//skarnet.org/">skarnet.org</a>
-</p>
-
-<h1> The <tt>s6lockd</tt> program </h1>
-
-<p>
-<tt>s6lockd</tt> is the s6lock daemon. It is a program that manages
-a set of lock files in a given directory, and associated timeouts.
-</p>
-
-<h2> Interface </h2>
-
-<p>
- s6lockd does not fork, does not background itself automatically,
-and does not use syslog. It is not meant to be run directly by the
-user: it will be spawned by the
-<a href="s6lock.html">s6lock client library</a>.
-</p>
-
-<p>
- There are 2 ways to use s6lockd:
-</p>
-
-<ol>
- <li> Use the <tt>s6lock_startf()</tt> library call.
-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:
-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
-<a href="../localservice.html">s6lockd service</a>.
-For once, <em>this is the recommended setup</em>: s6lockd creates empty
-lock files, and having all s6lockd instances run under the same user
-simplifies permissions management considerably. </li>
-</ol>
-
-<p>
-When run as a service, s6lockd has no "standalone" mode: it is
-designed to work with a Unix
-domain super-server, like
-<a href="../s6-ipcserver.html">s6-ipcserver</a>.
-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>
-
-<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 an <a href="s6lockd-helper.html">s6lockd-helper</a> child per
-requested lock. </li>
-</ul>
-
-</body>
-</html>