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

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
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:52:54
Message-ID: 48F61FE6.5000001@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>
>> 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.
>>
>
> That can only be a solution if postmaster child processes will inherit
> the lock. (The nasty scenario is where the postmaster has died but one
> or more backends are still alive --- a new postmaster attempting to
> start MUST detect that and refuse to start.) Does fork/exec preserve
> lock ownership on Windows?
>
>
>

I don't think so, no. But we could have the children explicitly acquire
a shared lock, so if the postmaster at startup tried to grab an
exclusive lock that would fail if any child were still alive.

cheers

andrew

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Chernow 2008-10-15 16:52:57 Re: 8.3 .4 + Vista + MingW + initdb = ACCESS_DENIED
Previous Message Andrew Dunstan 2008-10-15 16:49:48 Re: 8.3 .4 + Vista + MingW + initdb = ACCESS_DENIED