[-t|-f|-u|-d] [-p] [-r \fIretries\fP] \fIfile\fP
.SH DESCRIPTION
.PP
-.B dotlock
+.B mutt_dotlock
implements the traditional mail spool file locking method:
To lock \fIfile\fP, a file named \fIfile\fP.lock is
created. The program operates with group mail privileges
.PP
.IP "-t"
Just try.
-.B dotlock
+.B mutt_dotlock
won't actually lock a file, but inform the invoking
process if it's at all possible to lock \fIfile\fP.
.IP "-f"
Force the lock. If another process holds a lock on
\fIfile\fP longer than a certain amount of time,
-.B dotlock
+.B mutt_dotlock
will break that lock by removing the lockfile.
.IP "-u"
Unlock.
-.B dotlock
+.B mutt_dotlock
will remove \fIfile\fP.lock.
.IP "-d"
Delete.
-.B dotlock
+.B mutt_dotlock
will lock \fIfile\fP, remove it if it has length 0, and afterwards
remove \fIfile\fP.lock.
.IP "-p"
Use privileges. If given this option,
-.B dotlock
+.B mutt_dotlock
will operate with group mail privileges when creating and
deleting lock files.
.IP "-r \fIretries\fP"
This command line option tells
-.B dotlock
+.B mutt_dotlock
to try locking
\fIretries\fP times before giving up or (if invoked with
the
.B -f
command line option) break a lock. The default value is 5.
-.B dotlock
+.B mutt_dotlock
waits one second between successive locking attempts.
.SH FILES
.PP
.IP "\fIfile\fP.lock"
The lock file
-.B dotlock
+.B mutt_dotlock
generates.
.SH SEE ALSO
.PP
.BR mutt (1)
.SH DIAGNOSTICS
.PP
-.B dotlock
+.B mutt_dotlock
gives all diagnostics in its return values:
.TP
.B "0 \- DL_EX_OK"
The
user wants to lock a file which has been locked by
another process already. If
-.B dotlock
+.B mutt_dotlock
is invoked with the
.B -f
command line option,
-.B dotlock
+.B mutt_dotlock
won't generate this error, but break other processes'
locks.
.TP
.B "4 \- DL_EX_NEED_RPIVS"
This return value only occurs if
-.B dotlock
+.B mutt_dotlock
has been invoked
with the
.B -t
command line option. It means that
-.B dotlock
+.B mutt_dotlock
will have to use its group mail privileges to lock
\fIfile\fP.
.TP
.B "5 \- DL_EX_IMPOSSIBLE"
This return value only occurs if
-.B dotlock
+.B mutt_dotlock
has been invoked with the
.B -t
command line option. It means that
-.B dotlock
+.B mutt_dotlock
is unable to lock \fIfile\fP even with group mail
privileges.
.SH NOTES
.PP
-.B dotlock
+.B mutt_dotlock
tries to implement an NFS-safe dotlocking method which was
borrowed from
.B lockfile
(1).
.PP
If the user can't open \fIfile\fP for reading with his
-normal privileges, dotlock will return the
+normal privileges,
+.B mutt_dotlock
+will return the
.B DL_EX_ERROR
exit value to avoid certain attacks against other users'
spool files. The code carefully avoids race conditions
comments in dotlock.c.
.SH HISTORY
.PP
-.B dotlock
+.B mutt_dotlock
is part of the Mutt mail user agent package. It has been
created to avoid running mutt with group mail privileges.
.SH AUTHOR