"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote
>
> I noticed that shmem.c holds ShmemIndexLock considerably longer than any
> other spinlock is held, and across operations that could theoretically
> fail (hashtable manipulations). This doesn't matter a lot in the Unix
> code because only the postmaster ever executes ShmemInitStruct, but
> in the Windows port we run that code every time a backend is launched.
> I think that we could convert that spinlock to an LWLock. Will look into
> it.
>
Yeah, use LWLock is a safer way in order to recover to unlock status.
Regards,
Qingqing