Re: fcntl(F_SETLK) - Mailing list pgsql-hackers

From Philip Warner
Subject Re: fcntl(F_SETLK)
Date
Msg-id 3.0.5.32.20000706221731.02060cd0@mail.rhyme.com.au
Whole thread Raw
In response to Re: fcntl(F_SETLK)  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
At 12:21 5/07/00 -0400, Bruce Momjian wrote:
>> There's a broken configure test for fcntl(F_SETLK). (Hint: Of course it's
>> going to fail if you don't include the header file that defines
>> F_SETLK.) Apparently, it's been broken for quite a while so I'm afraid to
>> fix it, considering the problems with file locking.
>> 
>> Reading up on TODO.detail/flock, it seems this mechanism is made obsolete
>> by the pid file, so I'm inclined to remove it. At least those using Linux
>> and Solaris shouldn't feel a difference because the locking code wasn't
>> being used for said reasons. :)
>
>I just applied a patch from an IA64 user that fixes that.  Seems Tom
>Lane thinks protecting multiple postmasters on the same port is still an
>issue.  Let's hash it out and get it done, maybe.

Building the current CVS sources for SuSE Linux 6.1 works, but when running
it I get crashes:

open("/var/lib/pgsql7.0.2d/data/postgresql.conf", O_RDONLY) = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
brk(0x823e000)                          = 0x823e000
ioctl(3, TTY_MAGIC, 0xbffff4cc)         = -1 ENOTTY (Inappropriate ioctl
for device)
fstat(3, {st_mode=0, st_size=0, ...})   = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x4000d000
read(3, "#\n# PostgreSQL configuration fi"..., 4096) = 592
read(3, "", 4096)                       = 0
read(3, "", 4096)                       = 0
ioctl(3, TTY_MAGIC, 0xbffff4a0)         = -1 ENOTTY (Inappropriate ioctl
for device)
close(3)                                = 0
munmap(0x4000d000, 4096)                = 0
socket(PF_UNIX, SOCK_STREAM, 0)         = 3
open("/tmp/.s.PGSQL.5432", O_WRONLY|O_NONBLOCK) = 4
fcntl(4, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}
<unfinished ...>
+++ killed by SIGSEGV +++

I *presume* this relates to your recent discussions re flock?

By causing the configure test to fail, the resulting code works...




----------------------------------------------------------------
Philip Warner                    |     __---_____
Albatross Consulting Pty. Ltd.   |----/       -  \
(A.C.N. 008 659 498)             |          /(@)   ______---_
Tel: (+61) 0500 83 82 81         |                 _________  \
Fax: (+61) 0500 83 82 82         |                 ___________ |
Http://www.rhyme.com.au          |                /           \|                                |    --________--
PGP key available upon request,  |  /
and from pgp5.ai.mit.edu:11371   |/


pgsql-hackers by date:

Previous
From: The Hermit Hacker
Date:
Subject: Re: [HACKERS-OO] Re: Proposed new libpq API
Next
From: Philip Warner
Date:
Subject: Re: 2nd update on TOAST