Re: Policy wrt mail lockfile (section 4.3)

1997-06-23 Thread Thomas Koenig
Lars Wirzenius wrote:

[replying to the list instead of privately, since this is of common
interest, IMHO :-]

 If the protocol in the publib library has a way to get around that
 problem, I'd be interesting in learning more about it (and, possibly,
 dreaming up cases in which it might fail :-)

I don't know if it does, but it tries. Please do find any problems.
Here's the code:

[...]

   fndir(dir, lockname);
   fnjoin(tempname, dir, .temp-lock);
   fd = open(tempname, O_CREAT | O_EXCL, 0600);
   if (fd == -1)
   return -1;

This can create a lockfile that is never deleted.  Consider the following
case:

Client code does open(tempname, O_CREAT | O_EXCL, 0600);

Client kernel translates this into a NFSPROC_CREATE RPC call and sends
it out on the wire as a UDP packet.

Server receives the RPC call and executes it via doing
an open(tempname, O_CREAT | O_EXCL, 0600) itself; the lockfile is created.

Server sends back the the acknowledgement of success via a UDP package.

UDP package is lost on the wire.

Client kernel receives no confirmation and re-transmits the NFSPROC_CREATE
request.

Server receives RPC call and does open(tempname, O_CREAT | O_EXCL, 0600);
This call fails; server transmits back indication of failure.

Client user-space code sees call to open(tempname, O_CREAT | O_EXCL, 0600)
fail and thinks that somebody else has already locked things.

Result: oops...

There is a - partial - way around this.  Each RPC call is accompanied
with a unique 32-bit number, the xid.  A server can cache the first
request and simply send back a done successfully if it sees the same
(hostname,xid) tuple again within a certain time.  However, there is no
guarantee in the NFS protocol that this is indeed being done (and I
don't know wether the current Linux nfsd does indeed follow that
strategy).  This will also not survive a server crash, and there is
no way to enquire wether the server does support xid caching.
-- 
Thomas Koenig, [EMAIL PROTECTED], [EMAIL PROTECTED]
The joy of engineering is to find a straight line on a double
logarithmic diagram.


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-22 Thread Karl M. Hegbloom
 Christian == Christian Schwarz [EMAIL PROTECTED] writes:

  What happens?  Can you describe the problem?  Explain your
 setup in more detail, please.  I would like to know more about
 the problems that are encountered with nfs.

Christian The servers receives all mails from the Internet
Christian through sendmail (via UUCP). I have a .forward on my
Christian account to transfer all mails to procmail. procmail
Christian sorts the Debian mailing lists out (puts them in
Christian specific folders). All other mails are stored in
Christian /var/spool/mail/schwarz.

 If you make `procmail' your local mailer, with

FEATURE(local_procmail)dnl

... in /etc/sendmail.mc,  then run sendmailconfig  on it,  you won't
need  a .forward  anymore, and  your  .promailrc will get run  through
procmail automaticly.  It's a lot more efficient this way, I think.

Christian When I access that folder with pine exactly when
Christian procmail modifies it (this happens frequently!) pine
Christian complains about some other process modifying his
Christian folder and aborts.

 I guess  that Pine doesn't conform  to our locking policy.  It should
see that the file is 'locked' and block until the  .lock to goes away.
I've never used `pine'.  Is there a setting to have it do this?

 I'm using Gnus, in XEmacs,[1] to read my  mail now.  In the Gnus info
manual, I found settings for using procmail  delivery folders, so that
Gnus will honor the  locking files.  It took  a short afternoon to set
up, and  I  really   like it.   It's got   the  advantage  of  putting
newsgroups and email  in the  same interface.   And,  in XEmacs,  it's
fully MIME capable, with sound and pictures and everything.  (I've got
to quit advertising.)


Footnotes: 
[1]  It's also in Emacs.


-- 
Karl M. Hegbloom [EMAIL PROTECTED]   finger or ytalk:
http://www.inetarena.com/~karlheg   [EMAIL PROTECTED]
Portland, OR  USA
Debian GNU 1.3  Linux 2.1.36 AMD K5 PR-133


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-22 Thread Karl M. Hegbloom
 Miquel == Miquel van Smoorenburg [EMAIL PROTECTED] writes:

Miquel I now have open() in a preloaded library, /lib/nfslock.so
Miquel that gets preloaded on all our machines through
Miquel /etc/ld.so.preload. Does about the same thing, and lets us
Miquel safely share mail over NFS. A bit (a bit?!)  of a hack,
Miquel though.

 May we have it?  Please?

-- 
Karl M. Hegbloom [EMAIL PROTECTED]   finger or ytalk:
http://www.inetarena.com/~karlheg   [EMAIL PROTECTED]
Portland, OR  USA
Debian GNU 1.3  Linux 2.1.36 AMD K5 PR-133


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-22 Thread Miquel van Smoorenburg
According to Karl M. Hegbloom:
  Miquel == Miquel van Smoorenburg [EMAIL PROTECTED] writes:
 
 Miquel I now have open() in a preloaded library, /lib/nfslock.so
 Miquel that gets preloaded on all our machines through
 Miquel /etc/ld.so.preload. Does about the same thing, and lets us
 Miquel safely share mail over NFS. A bit (a bit?!)  of a hack,
 Miquel though.
 
  May we have it?  Please?

Sure, at your own risk.. it really is a hack, you know.

It's at ftp://ftp.cistron.nl/pub/people/miquels/nfslock/

Mike.
-- 
| Miquel van Smoorenburg |  I need more space Well, why not move to Texas |
| [EMAIL PROTECTED] |  No, on my account, stupid. Stupid? Uh-oh..|
| PGP fingerprint: FE 66 52 4F CD 59 A5 36  7F 39 8B 20 F1 D6 74 02   |


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-21 Thread Rob Browning
John Goerzen [EMAIL PROTECTED] writes:

 However, why is it bad if a given program (like Elm-ME+ which I
 maintain, which brought the issue to my attention this time) uses
 *both* locking mechanisms?

The only problem I know of is that with two locking schemes, if all
programs don't agree on the schemes and the order of their use, you
can end up with nasty deadlock situations.

-- 
Rob


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-21 Thread Lukas Nellen
[EMAIL PROTECTED] said:

 Hmm, but why would that cause a problem with mailers/programs that use
 lockfile locking *and* flock/fcntl locking at the same time?

Last time this discussion came up, Bruce found some info in the debian mail 
archive related to this. Can't find it now, though. If I remember correctly, 
the problem is that flock/fcntl locking on NFS mounted filesystems can cause 
complete lockup ( :-) ) of the process.

cheers,
Lukas
---
   Dr. Lukas Nellen | Email: [EMAIL PROTECTED]
   Depto. de Fisica Teorica, IFUNAM |
   Apdo. Postal 20-364  | Tel.:  +52 5 622 5166
   01000 Mexico D.F., MEXICO| Fax:   +52 5 622 5015



--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-21 Thread Miquel van Smoorenburg
In article [EMAIL PROTECTED], Lars Wirzenius [EMAIL PROTECTED] wrote:
--==_Exmh_970021023P
 Publib uses the return value from the stat call, which
 you're not supposed to do.  (I don't know why yet.)

I check that the link count is two to see if I managed to create
the lock file with link(2). If the stat fails, I can't check
the link count. I _must_ check the return of the stat.

The link count is not guaranteed to be updated because of inode
caches etc. Really.. The only thing you can do is stat the original
file and the link, and compare dev/ino pairs. Only then you're sure
the link() call succeeded.

As I said before, the implementation in qpopper-2.2-4 is IMO correct.
Looking at the code now, I only see one problem and that is:

time(now);
/* Locks are invalid after 5 minutes. */
if (now  st.st_ctime + 300)
continue;

It should really do 

/* Locks are invalid after 5 minutes. */
if ((fd  = open(lockfile, O_RDONLY)) = 0) {
(void)read(fd, 1, buf);
fstat(fd, st1);
now = st1.st_atime;
close(fd);
} else
time(now);
if (now  st.st_ctime + 300)
continue;

To compensate for when the clocks of the 2 systems are out of sync.

Mike.
-- 
| Miquel van Smoorenburg |  I need more space Well, why not move to Texas |
| [EMAIL PROTECTED] |  No, on my account, stupid. Stupid? Uh-oh..|
| PGP fingerprint: FE 66 52 4F CD 59 A5 36  7F 39 8B 20 F1 D6 74 02   |


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-21 Thread Miquel van Smoorenburg
In article [EMAIL PROTECTED], Lars Wirzenius [EMAIL PROTECTED] wrote:
--==_Exmh_970021023P
Content-Type: text/plain; charset=us-ascii

[ Please don't Cc: public replies to me. ]

Karl M. Hegbloom:
 What happens?  Can you describe the problem?  Explain your setup in
 more detail, please.  I would like to know more about the problems
 that are encountered with nfs.

When you try to create a lock file with open(2) using O_CREAT|O_EXCL
(i.e., you ask the kernel to create the file, but fail if it exists
already), the operation will sometimes fail, when you network drops
a packet. That operation simply isn't guaranteed to work over NFS,
even though it is for normal Unix filesystems.

It's more the case that the O_EXCL flag doesn't exist in the NFS protocol.
So the operation is not atomic. The kernel itself does:

[pseudo code]

if (flags  O_EXCL) {
if (stat(file) = 0)
return EEXIST;
}
return open (file, flags);

This is atomic on local file systems but not on NFS file systems. Usually
it will work, but I tested it by running a program repeatedly getting
a lockfile on 2 computers on a NFS mounted file system, and every once
in a while this method fails, as you would expect ofcourse.

I once wrote a patch where the kernel does:

if (flags  O_EXCL) {
/*
 *  Here the kernel uses a method with link() ing to the
 *  file, similar to NFS mailbox locking, to create the
 *  file atomically
 */
...
...
}
return open (file, flags);

It worked like a charm, but Linus wouldn't accept it in the kernel.
Too bad, all of our problems would have been solved..

I now have open() in a preloaded library, /lib/nfslock.so that gets
preloaded on all our machines through /etc/ld.so.preload. Does about
the same thing, and lets us safely share mail over NFS. A bit (a bit?!)
of a hack, though.

Mike.
-- 
| Miquel van Smoorenburg |  I need more space Well, why not move to Texas |
| [EMAIL PROTECTED] |  No, on my account, stupid. Stupid? Uh-oh..|
| PGP fingerprint: FE 66 52 4F CD 59 A5 36  7F 39 8B 20 F1 D6 74 02   |


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-21 Thread Christian Schwarz
On 20 Jun 1997, Karl M. Hegbloom wrote:

  Christian == Christian Schwarz [EMAIL PROTECTED] writes:
 
 Christian This is buggy since it's not working over NFS. (I'm
 Christian running into problems every few days since I use
 Christian sendmail/procmail/pine over a NFS mounted
 Christian /var/spool/mail !)
 
 Christian That's the exact reason why I started this discussion
 Christian again.
 
 What happens?  Can you describe the problem?  Explain your setup in
 more detail, please.  I would like to know more about the problems
 that are encountered with nfs.

I have a server running Debian 1.2.x, sendmail 8.8.5-1, procmail 3.10-4
and a client running Debian 1.3, pine 3.96L-2. 

The servers receives all mails from the Internet through sendmail (via
UUCP). I have a .forward on my account to transfer all mails to
procmail. procmail sorts the Debian mailing lists out (puts them in
specific folders). All other mails are stored in /var/spool/mail/schwarz.

When I access that folder with pine exactly when procmail modifies it
(this happens frequently!) pine complains about some other process
modifying his folder and aborts.



Thanks,

Chris

-- Christian Schwarz
Do you know [EMAIL PROTECTED], [EMAIL PROTECTED],
Debian GNU/Linux?[EMAIL PROTECTED], [EMAIL PROTECTED]
  
Visit  PGP-fp: 8F 61 EB 6D CF 23 CA D7  34 05 14 5C C8 DC 22 BA
http://www.debian.org   http://fatman.mathematik.tu-muenchen.de/~schwarz/


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-20 Thread Rob Browning
John Goerzen [EMAIL PROTECTED] writes:

 Why are we using dotfile locking only?  There are much better
 mechanisms (flock, etc.) that should be used instead.  I can see no
 place where dotfile locking would work and flock-style locking would
 fail...

I think flock can fail across NFS in certain situations, but I'm no
locking expert.

-- 
Rob


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-20 Thread Thomas Koenig
John Goerzen wrote:

Why are we using dotfile locking only?  There are much better
mechanisms (flock, etc.) that should be used instead.  I can see no
place where dotfile locking would work and flock-style locking would fail...

We don't have a lock daemon for NFS.
-- 
Thomas Koenig, [EMAIL PROTECTED], [EMAIL PROTECTED]
The joy of engineering is to find a straight line on a double
logarithmic diagram.


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-20 Thread Karl M. Hegbloom
 Rob == Rob Browning [EMAIL PROTECTED] writes:

Rob I think flock can fail across NFS in certain situations, but
Rob I'm no locking expert.

 You can read the man page to open(3) for a partial explaination.


-- 
Karl M. Hegbloom [EMAIL PROTECTED]   finger or ytalk:
http://www.inetarena.com/~karlheg   [EMAIL PROTECTED]
Portland, OR  USA
Debian GNU 1.3  Linux 2.1.36 AMD K5 PR-133


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-20 Thread Christian Schwarz
On Fri, 20 Jun 1997, Lars Wirzenius wrote:

 [ Please don't Cc: public replies to me. ]
 
 John Goerzen:
  Why are we using dotfile locking only?  There are much better
  mechanisms (flock, etc.) that should be used instead.  I can see no
  place where dotfile locking would work and flock-style locking would fail...
 
 NFS. Scripts that use procmail's lockfile.
 
 (If it doesn't already, the policy manual should explain the
 reasons behind policy. I'd check if it does, but I don't have
 a copy and am offline.)

The current policy manual (2.1.3.3) only says:

 Mailboxes are locked using the username.lock lockfile convention, rather
 than fcntl, flock or lockf.

This is buggy since it's not working over NFS. (I'm running into problems
every few days since I use sendmail/procmail/pine over a NFS mounted
/var/spool/mail !)

That's the exact reason why I started this discussion again.

AFAIK, there is at least one safe way to lock a file over NFS. The
procedure is partially explained in the open(2) man page and is also
implemented, for example, in your publib library. 

Since the procedure is not that simple, I suggested to provide a shared
library that the other packages could be linked against, so that not every
maintainer has to program this on his/her own (this is likely to produce
new bugs!). And I suggested to produce modules for Perl/Python etc.

Someone else mentioned that the UN*X (at least Linux) world is laking such
a library and we should therefore build not a debian specific lib, but a
new upstream library which can be used by the other distributions as
well. IMHO, that's a very good idea.

Note, that all programs will have to use the same locking mechanism (this
has been discussed before). Thus, we should implement the simpliest
available algorithm that is NFS-safe, since a few maintainers will
probably need to hand-code this themselves (for example, for other
programming languages, etc.). 

There are also tools available, that do locking, for example lockfile in
the procmail package. However, calling this program with system produces
IMHO too much unnecessary overhead and the source code of this program is
a bit to complicated to force all our developers to implement this.

IMHO, the code in publib looks very good. I suggest that we extract the
necessary files and put them together in a new package, called
liblockfile (or similar). This package should install a shared library
liblockfile.so that contains a few necessary commands to
lock/unlock/test a file.

In addition, we could create a new lockfile binary (just as in procmail)
that can be used by shell scripts or other programs (via system).

We'll also provide modules for Perl/Python/etc.


Any comments?


(I feel like I presented these arguments several times now on this list,
but we've not got any results so far.)


Thanks,

Chris

-- Christian Schwarz
[EMAIL PROTECTED], [EMAIL PROTECTED],
Don't know Perl? [EMAIL PROTECTED], [EMAIL PROTECTED]
  
Visit  PGP-fp: 8F 61 EB 6D CF 23 CA D7  34 05 14 5C C8 DC 22 BA
http://www.perl.com http://fatman.mathematik.tu-muenchen.de/~schwarz/


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-20 Thread Christoph Lameter

:  Mailboxes are locked using the username.lock lockfile convention, rather
:  than fcntl, flock or lockf.

: This is buggy since it's not working over NFS. (I'm running into problems
: every few days since I use sendmail/procmail/pine over a NFS mounted
: /var/spool/mail !)

I am using exim/exim/pine here over NFS mounted /var/spool/mail for around 1000 
users with no
problems at all. Some of the gizmos you are using might have a problem with
the lock scheme. I know that exim is pretty reliable with its locking and I 
also use
exim instead of procmail (build in mailfilter).


-- 
--- +++ --- +++ --- +++ --- +++ --- +++ --- +++ --- +++ ---
Please always CC me when replying to posts on mailing lists.


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-20 Thread Karl M. Hegbloom
 Christian == Christian Schwarz [EMAIL PROTECTED] writes:

Christian This is buggy since it's not working over NFS. (I'm
Christian running into problems every few days since I use
Christian sendmail/procmail/pine over a NFS mounted
Christian /var/spool/mail !)

Christian That's the exact reason why I started this discussion
Christian again.

What happens?  Can you describe the problem?  Explain your setup in
more detail, please.  I would like to know more about the problems
that are encountered with nfs.

Christian There are also tools available, that do locking, for
Christian example lockfile in the procmail package. However,
Christian calling this program with system produces IMHO too
Christian much unnecessary overhead and the source code of this
Christian program is a bit to complicated to force all our
Christian developers to implement this.

 Unix is designed around peicing things together from small utility
programs, and fork/exec/wait probably doesn't really cost that
much...  on the other hand, putting the lockfile stuff into a shared
library is more estheticly appealing.

Christian IMHO, the code in publib looks very good. I suggest
Christian that we extract the necessary files and put them
Christian together in a new package, called liblockfile (or
Christian similar). This package should install a shared library
Christian liblockfile.so that contains a few necessary commands
Christian to lock/unlock/test a file.

 Solaris has a maillock library that is cloned in `qpopper'.  A manual
page for Sun's maillock can easily be found on the web.  I think that
qpopper's algorithm is superiour to the one in publib.  Will you have
a look at it?  Publib uses the return value from the stat call, which
you're not supposed to do.  (I don't know why yet.)

Christian In addition, we could create a new lockfile binary
Christian (just as in procmail) that can be used by shell scripts
Christian or other programs (via system).

 I guess we should mimic the maillock library, but add a more general
function for creating a lock for any file, not just mail spools.  How
does DCE do it, I wonder?  I found libuuid in the ext2fsprogs.

 What's a lockd do?  I will search for that today.

Christian We'll also provide modules for Perl/Python/etc.

 Can you use SWIG for that, once we make a .so?

-- 
Karl M. Hegbloom [EMAIL PROTECTED]   finger or ytalk:
http://www.inetarena.com/~karlheg   [EMAIL PROTECTED]
Portland, OR  USA
Debian GNU 1.3  Linux 2.1.36 AMD K5 PR-133


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-20 Thread Erik B. Andersen
This sounds good to me.  When finished, we should announce this
on c.o.l.a. and try to see if the Red Had folks will adopt it as
well.  If we both adopt it as policy, then it will live on forever!

 -Erik

--
Erik B. Andersen   Web:http://www.inconnect.com/~andersen/ 
   email:  [EMAIL PROTECTED]
--This message was written using 73% post-consumer electrons--


 
 On Fri, 20 Jun 1997, Lars Wirzenius wrote:
 
  [ Please don't Cc: public replies to me. ]
  
  John Goerzen:
   Why are we using dotfile locking only?  There are much better
   mechanisms (flock, etc.) that should be used instead.  I can see no
   place where dotfile locking would work and flock-style locking would 
   fail...
  
  NFS. Scripts that use procmail's lockfile.
  
  (If it doesn't already, the policy manual should explain the
  reasons behind policy. I'd check if it does, but I don't have
  a copy and am offline.)
 
 The current policy manual (2.1.3.3) only says:
 
  Mailboxes are locked using the username.lock lockfile convention, rather
  than fcntl, flock or lockf.
 
 This is buggy since it's not working over NFS. (I'm running into problems
 every few days since I use sendmail/procmail/pine over a NFS mounted
 /var/spool/mail !)
 
 That's the exact reason why I started this discussion again.
 
 AFAIK, there is at least one safe way to lock a file over NFS. The
 procedure is partially explained in the open(2) man page and is also
 implemented, for example, in your publib library. 
 
 Since the procedure is not that simple, I suggested to provide a shared
 library that the other packages could be linked against, so that not every
 maintainer has to program this on his/her own (this is likely to produce
 new bugs!). And I suggested to produce modules for Perl/Python etc.
 
 Someone else mentioned that the UN*X (at least Linux) world is laking such
 a library and we should therefore build not a debian specific lib, but a
 new upstream library which can be used by the other distributions as
 well. IMHO, that's a very good idea.
 
 Note, that all programs will have to use the same locking mechanism (this
 has been discussed before). Thus, we should implement the simpliest
 available algorithm that is NFS-safe, since a few maintainers will
 probably need to hand-code this themselves (for example, for other
 programming languages, etc.). 
 
 There are also tools available, that do locking, for example lockfile in
 the procmail package. However, calling this program with system produces
 IMHO too much unnecessary overhead and the source code of this program is
 a bit to complicated to force all our developers to implement this.
 
 IMHO, the code in publib looks very good. I suggest that we extract the
 necessary files and put them together in a new package, called
 liblockfile (or similar). This package should install a shared library
 liblockfile.so that contains a few necessary commands to
 lock/unlock/test a file.
 
 In addition, we could create a new lockfile binary (just as in procmail)
 that can be used by shell scripts or other programs (via system).
 
 We'll also provide modules for Perl/Python/etc.
 
 
 Any comments?
 
 
 (I feel like I presented these arguments several times now on this list,
 but we've not got any results so far.)
 
 
 Thanks,
 
 Chris
 
 -- Christian Schwarz
 [EMAIL PROTECTED], [EMAIL PROTECTED],
 Don't know Perl? [EMAIL PROTECTED], [EMAIL PROTECTED]
   
 Visit  PGP-fp: 8F 61 EB 6D CF 23 CA D7  34 05 14 5C C8 DC 22 
 BA
 http://www.perl.com http://fatman.mathematik.tu-muenchen.de/~schwarz/
 
 
 --
 TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
 [EMAIL PROTECTED] . 
 Trouble?  e-mail to [EMAIL PROTECTED] .
 


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-20 Thread John Goerzen
Rob Browning [EMAIL PROTECTED] writes:

 John Goerzen [EMAIL PROTECTED] writes:
 
  Why are we using dotfile locking only?  There are much better
  mechanisms (flock, etc.) that should be used instead.  I can see no
  place where dotfile locking would work and flock-style locking would
  fail...
 
 I think flock can fail across NFS in certain situations, but I'm no
 locking expert.

Hmm, but why would that cause a problem with mailers/programs that use
lockfile locking *and* flock/fcntl locking at the same time?

-- 
John Goerzen  | Running Debian GNU/Linux (www.debian.org)
Custom Programming| 
[EMAIL PROTECTED] | 


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: Policy wrt mail lockfile (section 4.3)

1997-06-20 Thread Scott K. Ellis
-BEGIN PGP SIGNED MESSAGE-

On 20 Jun 1997, John Goerzen wrote:

  I think flock can fail across NFS in certain situations, but I'm no
  locking expert.
 
 Hmm, but why would that cause a problem with mailers/programs that use
 lockfile locking *and* flock/fcntl locking at the same time?

You create fun deadlocks when one program does it lockfile/flock and the
other does it flock/lockfile.

++
|   Scott K. Ellis   |   Argue for your limitations and  |
|   [EMAIL PROTECTED]   | sure enough, they're yours.   |
||-- Illusions   |
++

-BEGIN PGP SIGNATURE-
Version: 2.6.3
Charset: noconv

iQCVAwUBM6rjeKCk2fENdzpVAQFN+gP+NAomXn0fmPG4YIYb4ObdHTHYuvmwMCsO
xcJ+EYPxFcBvMY/p4FG7S8Nj0ToAAkcM3Lj6vZ/ox2sjnHVX/dNd9U/WBbzgdhKB
RiYRoLMp/G7kI9P3qW4gGDT08O0IHOxnX5sVC7es+6jE8gySsH+vRlHHU5vnhxlF
WX2BX3ih1dY=
=x6Jq
-END PGP SIGNATURE-


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .