[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MAIL_USE_FLOCK and Debian.
From: |
Rob Browning |
Subject: |
Re: MAIL_USE_FLOCK and Debian. |
Date: |
Tue, 18 Feb 2003 10:03:32 -0600 |
User-agent: |
Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu) |
Florian Weimer <address@hidden> writes:
> Maybe Emacs can offer access to the relevant system calls, so
> movemail can be implemented in Lisp? It can't be *that* hard...
Oh, and although it looks like it's not going to matter, you're
definitely right about being able to implement movemail in Lisp if we
wanted to. As an example, you might be able to implement the Debian
strategy (embodied in liblockfile) right now, without any changes to
Emacs, since it uses fairly unremarkable system calls. From
lockfile_create(3):
The algorithm that is used to create a lockfile in an atomic way, even
over NFS, is as follows:
1 A unique file is created. In printf format, the name of the file
is .lk%05d%x%s. The first argument (%05d) is the current process
id. The second argument (%x) consists of the 4 minor bits of the
value returned by time(2). The last argument is the system host-
name.
2 Then the lockfile is created using link(2). The return value of
link is ignored.
3 Now the lockfile is stat()ed. If the stat fails, we go to step
6.
4 The stat value of the lockfile is compared with that of the tem-
porary file. If they are the same, we have the lock. The tempo-
rary file is deleted and a value of 0 (success) is returned to
the caller.
5 A check is made to see if the existing lockfile is a valid one.
If it isn't valid, the stale lockfile is deleted.
6 Before retrying, we sleep for n seconds. n is initially 5 sec-
onds, but after every retry 5 extra seconds is added up to a
maximum of 60 seconds (an incremental backoff). Then we go to
step 2 up to retries times.
--
Rob Browning
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
Previously @cs.utexas.edu
GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
- MAIL_USE_FLOCK and Debian., Rob Browning, 2003/02/15
- Re: MAIL_USE_FLOCK and Debian., Richard Stallman, 2003/02/15
- Re: MAIL_USE_FLOCK and Debian., Rob Browning, 2003/02/15
- Re: MAIL_USE_FLOCK and Debian., Richard Stallman, 2003/02/17
- Re: MAIL_USE_FLOCK and Debian., Rob Browning, 2003/02/17
- Re: MAIL_USE_FLOCK and Debian., Florian Weimer, 2003/02/17
- Re: MAIL_USE_FLOCK and Debian., Rob Browning, 2003/02/17
- Re: MAIL_USE_FLOCK and Debian., Florian Weimer, 2003/02/17
- Re: MAIL_USE_FLOCK and Debian., Alan Shutko, 2003/02/17
- Re: MAIL_USE_FLOCK and Debian., Rob Browning, 2003/02/17
- Re: MAIL_USE_FLOCK and Debian.,
Rob Browning <=
- Re: MAIL_USE_FLOCK and Debian., Richard Stallman, 2003/02/18
- Re: MAIL_USE_FLOCK and Debian., Rob Browning, 2003/02/18
- Re: MAIL_USE_FLOCK and Debian., Richard Stallman, 2003/02/19
- Re: MAIL_USE_FLOCK and Debian., Rob Browning, 2003/02/19
- Re: MAIL_USE_FLOCK and Debian., David Masterson, 2003/02/19
- Re: MAIL_USE_FLOCK and Debian., Richard Stallman, 2003/02/20
- Re: MAIL_USE_FLOCK and Debian., Rob Browning, 2003/02/20
- Re: MAIL_USE_FLOCK and Debian., Richard Stallman, 2003/02/21
- Re: MAIL_USE_FLOCK and Debian., Rob Browning, 2003/02/23
- Re: MAIL_USE_FLOCK and Debian., Michael Sperber [Mr. Preprocessor], 2003/02/28