Re: fcntl(F_SETLK)

From: Philip Warner <pjw(at)rhyme(dot)com(dot)au>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org, Jan Wieck <JanWieck(at)yahoo(dot)com>
Subject: Re: fcntl(F_SETLK)
Date: 2000-07-06 12:17:31
Message-ID: 3.0.5.32.20000706221731.02060cd0@mail.rhyme.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 |/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Philip Warner 2000-07-06 12:23:58 Re: 2nd update on TOAST
Previous Message The Hermit Hacker 2000-07-06 12:10:05 Re: [HACKERS-OO] Re: Proposed new libpq API