Re: 8.3 .4 + Vista + MingW + initdb = ACCESS_DENIED

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Dave Page <dpage(at)pgadmin(dot)org>, Magnus Hagander <magnus(at)hagander(dot)net>, Zeugswetter Andreas OSB sIT <Andreas(dot)Zeugswetter(at)s-itsolutions(dot)at>, Charlie Savage <cfis(at)savagexi(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 8.3 .4 + Vista + MingW + initdb = ACCESS_DENIED
Date: 2008-10-15 16:49:48
Message-ID: 48F61F2C.7030306@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera wrote:
> Andrew Dunstan wrote:
>
>
>> I have verified that it does indeed work. Underneath the hood it uses
>> the native call LockFileEx() see win32io.c in Perl source. I suggest we
>> should switch from this flaky use of Global namespace to having the
>> postmaster acquire an explicit lock on a file in the datadir.
>>
>
> Does it work for all backends to grab a lock, so that if they continue
> to live after postmaster has died, then the new postmaster cannot start?
>
> I guess the postmaster could try-acquire an exclusive lock and all other
> processes would acquire a shared lock.
>

I think we'd need to have the postmaster grab an exclusive lock to start
with, to make sure nothing else has the lock, then swap to a shared lock
before any backends are created. That might leave a tiny window on
postmaster start, but I think it would be good enough.

cheers

andrew

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2008-10-15 16:52:54 Re: 8.3 .4 + Vista + MingW + initdb = ACCESS_DENIED
Previous Message Euler Taveira de Oliveira 2008-10-15 16:45:58 Re: autovacuum and reloptions