[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#43651: ACCEPTED] mailbox locking



On Thu, 28 Oct 1999, Julian Gilbey wrote:

> Any progress on this, by any chance?

I didn't hear from Miquel...
But I think, that your adaption in debian-policy 3.1.0pre1 is okay.

> There was a suggested implementation in the bug report; should that
> go in policy as a footnote?

I think this will bloat the policy more then necessary...

     All Debian MUAs, MTAs, MDAs and other mailbox accessing programs (like
     IMAP daemons) have to lock the mailbox in a NFS-safe way. This means
     that `fcntl()' locking has to be combined with dot locking. To avoid
     dead locks, a program has to use `fcntl()' first and dot locking after
     this or alternatively implement the two locking methods in a non
     blocking way[1]. Using the functions `maillock' and `mailunlock'
     provided by the `liblockfile*'[2] packages is the recommended way to
     realize this.

     [1]  If it is not possible to establish both locks, the system
          shouldn't wait for the second lock to be established, but remove
          the first lock, wait a (random) time, and start over locking
          again.

     [2]  `liblockfile' version >>1.01

This is quite clear in what is allowed and what isn't.  In reality
this will mean, that most maintainers simply have to activate the
combined locking mechanism (dotlock+fcntl) which is provided by most
upstream packages (At the moment, these packages are configured to
only use dotlock in Debian.  Very less packages use liblockfile as
intended in the old policy).  So most maintainers won't need the
sample implementation provided by Thomas Roessler.

In the future liblockfile will hopefully be extended to support
dotlock+fcntl, so if someone needs a sample implementation,
liblockfile (see footnote [2]) will be the right place to look for
it.

Ciao

        Roland

-- 
 * roland@spinnaker.de * http://www.spinnaker.de/ *


Reply to: