From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Dave Page <dpage(at)pgadmin(dot)org>, Magnus Hagander <magnus(at)hagander(dot)net> |
Cc: | 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:03:33 |
Message-ID: | 48F61455.1020009@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andrew Dunstan wrote:
>
>
> Dave Page wrote:
>>> The reason it should be in the Global namespace is that shmem is one
>>> part of
>>> detecting an existing postmaster. Especially in situations where the
>>> db is started
>>> by hand, the protection against duplicate startup is important.
>>>
>>
>> Yeah, as Magnus reminded me.
>>
>
> IMNSHO we need to find a different exclusion mechanism that isn't as
> cumbersome and surrounded by caveats as this one.
>
> The buildfarm also uses an exclusion mechanism, based on Perl's
> flock(), and it's a simple one line call. AFAIK that works just fine
> on Windows (I will double check). If so, we should possibly look at
> how Perl does that on Windows.
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.
cheers
andrew
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2008-10-15 16:03:34 | Re: Annoying error messages in _dosmaperr |
Previous Message | Tom Lane | 2008-10-15 15:29:15 | Re: Is autovacuum too noisy about orphan temp tables? |