LWLock/ShmemIndex startup question - Mailing list pgsql-hackers

From Claudio Natoli
Subject LWLock/ShmemIndex startup question
Date
Msg-id A02DEC4D1073D611BAE8525405FCCE2B55F253@harris.memetrics.local
Whole thread Raw
Responses Re: LWLock/ShmemIndex startup question  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
In CreateSharedMemoryAndSemaphores, there is the following comment, just
before CreateLWLocks():
/* * Now initialize LWLocks, which do shared memory allocation and are * needed for InitShmemIndex. */

Also, in InitShmemAllocation, there is:
/* ShmemIndex can't be set up yet (need LWLocks first) */

Are these comments still true? Specifically, is it necessary to call
CreateLWLocks before InitShmemIndex? I think it used to be, but then the
ShmemIndexLock got made into a separate spinlock in its own right.

It doesn't appear to be true, and I'd like to rearrange this section of the
code, as part of a possible solution to a Win32 shmem/semaphore bootstrap
problem (postgres semaphores under Win32 uses ShmemIndex which uses
spinlocks which use shared memory which use semaphores which ...).

If ok, I was specifically thinking of rolling the ShmemIndex initialization
into InitShmemAllocation, which I suspect used to do this anyway... any
complaints?

Cheers,
Claudio

--- 
Certain disclaimers and policies apply to all email sent from Memetrics.
For the full text of these disclaimers and policies see 
<a
href="http://www.memetrics.com/emailpolicy.html">http://www.memetrics.com/em
ailpolicy.html</a>


pgsql-hackers by date:

Previous
From: "Dave Page"
Date:
Subject: Re: OLE DB driver
Next
From: Shachar Shemesh
Date:
Subject: Re: OLE DB driver