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

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

In response to

Responses

Browse pgsql-hackers by date

  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?