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> ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend