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

Re: flock() and sendmail



On Fri, Nov 17, 2006 at 07:03:00PM +0000, John Kelly wrote:
> On Fri, 17 Nov 2006 19:54:13 +0100, Kurt Roeckx <kurt@roeckx.be>
> wrote:
> 
> >I actually see no good reason to want to use flock() over fcntl().
> 
> 
> Maybe because the fcntl()
> 
> >interface follows the completely stupid semantics of System V and
> >IEEE Std 1003.1-1988 (``POSIX.1'') that require that all locks associated
> >with a file for a given process are removed when any file descriptor for
> >that file is closed by that process.  This semantic means that applica-
> >tions must be aware of any files that a subroutine library may access.
> >For example if an application for updating the password file locks the
> >password file database while making the update, and then calls
> >getpwnam(3) to retrieve a record, the lock will be lost because
> >getpwnam(3) opens, reads, and closes the password database.  The database

I think this is a rather bad example.  If you lock a file and then
use something other than read() or write() that might access it, you're
very likely having problems.


Kurt



Reply to: