Can someone explain why LockMethodCtl is in shared memory while
LockMethodTable is in postmaster memory context?

I realize LockMethodCtl has a spinlock, so it has to be in shared
memory, but couldn't it all be put in shared memory?

Also, the code:

LockShmemSize(int maxBackends)
{
    int         size = 0;

    size += MAXALIGN(sizeof(PROC_HDR)); /* ProcGlobal */
    size += MAXALIGN(maxBackends * sizeof(PROC));       /* each MyProc*/
    size += MAXALIGN(maxBackends * sizeof(LOCKMETHODCTL));      /* each
                                                                 * 
lockMethodTable->ctl */

Is there one LOCKMETHODCTL for every backend?  I thought there was only
one of them.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Reply via email to