Man Linux: Main Page and Category List

NAME

       lbdb_dotlock - Lock mail spool files.

SYNOPSIS

       lbdb_dotlock [-t|-f|-u|-d] [-r retries] file

DESCRIPTION

       dotlock  implements  the traditional mail spool file locking method: To
       lock file, a file named file.lock is created.

OPTIONS

       -t     Just try.  dotlock won’t actually lock a file,  but  inform  the
              invoking process if it’s at all possible to lock file.

       -f     Force  the lock.  If another process holds a lock on file longer
              than a certain amount of time, dotlock will break that  lock  by
              removing the lockfile.

       -u     Unlock.  dotlock will remove file.lock.

       -d     Delete.   dotlock  will lock file, remove it if it has length 0,
              and afterwards remove file.lock.

       -r retries
              This command line option tells 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.   dotlock  waits
              one second between successive locking attempts.

FILES

       file.lock
              The lock file dotlock generates.

SEE ALSO

       fcntl(2), flock(2), lockfile(1), lbdb-fetchaddr(1)

DIAGNOSTICS

       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 dotlock is invoked with the -f command line
              option, dotlock won’t  generate  this  error,  but  break  other
              processes’ locks.

       4 - DL_EX_NEED_RPIVS
              This  return  value only occurs if dotlock has been invoked with
              the -t command line option.  It means that dotlock will have  to
              use its group mail privileges to lock file.

       5 - DL_EX_IMPOSSIBLE
              This  return  value only occurs if dotlock has been invoked with
              the -t command line option.  It means that dotlock is unable  to
              lock file.

NOTES

       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,
       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
       comments in dotlock.c.

HISTORY

       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>