Re: [HACKERS] flock patch breaks things here

Massimo Dal Zotto <dz@cs.unitn.it>

From: Massimo Dal Zotto <dz@cs.unitn.it>
To: hackers@postgreSQL.org (PostgreSQL Hackers)
Cc: tgl@sss.pgh.pa.us (Tom Lane)
Date: 1998-08-30T11:04:43Z
Lists: pgsql-hackers
> 
> backend/libpq/pgcomm.c no longer compiles on my system.  The cvs log sez
> 
> Massimo Dal Zotto <dz@cs.unitn.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).
> 
> 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.
> 
> In short: I'd like to see this patch backed out until after 6.4.
> 

Yes, I'm aware of this. For the moment I suggest we put a #ifdef linux
around the code until a more portable solution is found.

-- 
Massimo Dal Zotto

+----------------------------------------------------------------------+
|  Massimo Dal Zotto                email:  dz@cs.unitn.it             |
|  Via Marconi, 141                 phone:  ++39-461-534251            |
|  38057 Pergine Valsugana (TN)     www:  http://www.cs.unitn.it/~dz/  |
|  Italy                            pgp:  finger dz@tango.cs.unitn.it  |
+----------------------------------------------------------------------+