lockspool is useful for a client mail program to attain proper locking. lockspool obtains a
username.lock for the calling user and retains it until stdin is closed or a signal like SIGINT, SIGTERM,
or SIGHUP is received. Additionally, the superuser may specify the name of a user in order to lock a
different mailbox.
If lockspool is able to create the lock file, “1” is written to stdout, otherwise “0” is written and an
error message is written to stderr. lockspool will try up to 10 times to get the lock (sleeping for a
short period in between tries).
Typical usage is for a user mail agent (such as mail(1)) to open a pipe to lockspool when it needs to
lock the user's mail spool. Closing the pipe will cause lockspool to release the lock.