diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-05-19 21:35:48 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-05-19 21:35:48 +0000 |
| commit | ee3b71f6bce929b07636f76d1654832cb6b5a489 (patch) | |
| tree | ce95108d3c0e832555b78e96afb173458991b19e /src/backend/storage/ipc/ipci.c | |
| parent | 6910032a56dd3841be137b4bef7c57ef32a60ac8 (diff) | |
| download | postgresql-ee3b71f6bce929b07636f76d1654832cb6b5a489.tar.gz | |
Split the shared-memory array of PGPROC pointers out of the sinval
communication structure, and make it its own module with its own lock.
This should reduce contention at least a little, and it definitely makes
the code seem cleaner. Per my recent proposal.
Diffstat (limited to 'src/backend/storage/ipc/ipci.c')
| -rw-r--r-- | src/backend/storage/ipc/ipci.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/storage/ipc/ipci.c b/src/backend/storage/ipc/ipci.c index 975d5f131d..22333a1f55 100644 --- a/src/backend/storage/ipc/ipci.c +++ b/src/backend/storage/ipc/ipci.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/ipc/ipci.c,v 1.75 2005/04/28 21:47:15 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/storage/ipc/ipci.c,v 1.76 2005/05/19 21:35:46 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -30,6 +30,7 @@ #include "storage/pg_shmem.h" #include "storage/pmsignal.h" #include "storage/proc.h" +#include "storage/procarray.h" #include "storage/sinval.h" #include "storage/spin.h" @@ -78,6 +79,7 @@ CreateSharedMemoryAndSemaphores(bool makePrivate, size += SUBTRANSShmemSize(); size += MultiXactShmemSize(); size += LWLockShmemSize(); + size += ProcArrayShmemSize(maxBackends); size += SInvalShmemSize(maxBackends); size += FreeSpaceShmemSize(); size += BgWriterShmemSize(); @@ -155,6 +157,7 @@ CreateSharedMemoryAndSemaphores(bool makePrivate, * Set up process table */ InitProcGlobal(maxBackends); + CreateSharedProcArray(maxBackends); /* * Set up shared-inval messaging |
