dotlock(1) User Manuals dotlock(1)NAMEmutt_dotlock - Lock mail spool files.
SYNOPSISmutt_dotlock [-t|-f|-u|-d] [-p] [-r retries] file
DESCRIPTIONmutt_dotlock implements the traditional mail spool file
locking method: To lock file, a file named file.lock is
created. The program operates with group mail privileges
if necessary.
OPTIONS-t Just try. mutt_dotlock won't actually lock a file,
but inform the invoking process if it's at all pos-
sible to lock file.
-f Force the lock. If another process holds a lock on
file longer than a certain amount of time,
mutt_dotlock will break that lock by removing the
lockfile.
-u Unlock. mutt_dotlock will remove file.lock.
-d Delete. mutt_dotlock will lock file, remove it if
it has length 0, and afterwards remove file.lock.
-p Use privileges. If given this option, mutt_dotlock
will operate with group mail privileges when creat-
ing and deleting lock files.
-r retries
This command line option tells mutt_dotlock to try
locking retries times before giving up or (if
invoked with the -f command line option) break a
lock. The default value is 5. mutt_dotlock waits
one second between successive locking attempts.
FILES
file.lock
The lock file mutt_dotlock generates.
SEE ALSOfcntl(2), flock(2), lockfile(1), mutt(1)DIAGNOSTICSmutt_dotlock gives all diagnostics in its return values:
0 - DL_EX_OK
The program was successful.
1 - DL_EX_ERROR
An unspecified error such as bad command line
parameters, lack of system memory and the like has
occured.
3 - DL_EX_EXIST
The user wants to lock a file which has been locked
by another process already. If mutt_dotlock is
invoked with the -f command line option, mutt_dot-
lock won't generate this error, but break other
processes' locks.
4 - DL_EX_NEED_RPIVS
This return value only occurs if mutt_dotlock has
been invoked with the -t command line option. It
means that mutt_dotlock will have to use its group
mail privileges to lock file.
5 - DL_EX_IMPOSSIBLE
This return value only occurs if mutt_dotlock has
been invoked with the -t command line option. It
means that mutt_dotlock is unable to lock file even
with group mail privileges.
NOTESmutt_dotlock tries to implement an NFS-safe dotlocking
method which was borrowed from lockfile (1).
If the user can't open file for reading with his normal
privileges, mutt_dotlock will return the DL_EX_ERROR exit
value to avoid certain attacks against other users' spool
files. The code carefully avoids race conditions when
checking permissions; for details of all this see the com-
ments in dotlock.c.
HISTORYmutt_dotlock is part of the Mutt mail user agent package.
It has been created to avoid running mutt with group mail
privileges.
AUTHOR
Thomas Roessler <roessler@guug.de>
Unix AUGUST 1999 dotlock(1)