libs6
s6
Software
skarnet.org

The s6lockd program

s6lockd is the s6lock daemon. It is a program that manages a set of lock files in a given directory, and associated timeouts.

Interface

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 s6lock client library.

There are 2 ways to use s6lockd:

  1. Use the s6lock_startf() library call. An s6lockd child will then be spawned from your calling process, and automatically reaped when you call s6lock_end(). 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.
  2. Use the s6lock_start() library call, together with a s6lockd service. For once, this is the recommended setup: s6lockd creates empty lock files, and having all s6lockd instances run under the same user simplifies permissions management considerably.

When run as a service, s6lockd has no "standalone" mode: it is designed to work with a Unix domain super-server, like s6-ipcserver. s6lockd follows the UCSPI interface, it can be directly executed from the super-server.

Notes