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
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 |