Re: [HACKERS] flock patch breaks things here

From: Tom <tom(at)sdf(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] flock patch breaks things here
Date: 1998-08-30 05:51:42
Message-ID: Pine.BSF.3.95q.980829224350.5668A-100000@misery.sdf.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On Sun, 30 Aug 1998, Tom Lane wrote:

> Massimo Dal Zotto <dz(at)cs(dot)unitn(dot)it>
> > socket-flock.patch
> > use advisory locks to check if the unix socket can be deleted.
> > A running postmaster keeps a lock on that file. A starting
> > postmaster exits if the file exists and is locked, otherwise
> > it deletes the sockets and proceeds.
> > This avoid the need to remove manually the file after a postmaster
> > or system crash.
> > I don't know if flock is available on any system. If not we could
> > define a HAVE_FLOCK set by configure.
>
> flock is *VERY* far from portable. I am aware of three or four
> different, mutually incompatible file locking syscalls on different
> Unix flavors. flock is just one of the contestants. Even if the
> call syntax were uniform, the semantics are not portable enough to
> be safe (advisory locks don't work on NFS-mounted files, for example).

You can't create unix domain sockets on NFS files systems (well, you
might be allowed to, it just might not be very useful).

The flock() call syntax is very consistant. The only other option is
fcntl() which is very consistant too, and is described in POSIX.1

The only other option is lockf(). No one uses this anymore. It was
only ever supported on SVR2,3,4 anyhow. It also is just a subset of
fcntl()

> Massimo has a good idea in the long run, but I have strong doubts that
> we want to start working the bugs out two days before a beta release
> cycle. Portable file locking in Unix is a very nasty can of worms,
> and I recommend not opening it at this particular point.

Not really. The biggest problem is NFS issues, which don't need to be
considered for unix domain sockets. The various sematics issues don't
really apply for locking is being used for.

> In short: I'd like to see this patch backed out until after 6.4.
>
> regards, tom lane

Tom

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter T Mount 1998-08-30 09:56:05 Re: jdbc changes in 6.4
Previous Message Tom Lane 1998-08-30 05:42:03 flock patch breaks things here