diff options
Diffstat (limited to 'src/backend/storage/ipc')
| -rw-r--r-- | src/backend/storage/ipc/ipci.c | 5 | ||||
| -rw-r--r-- | src/backend/storage/ipc/procarray.c | 38 |
2 files changed, 5 insertions, 38 deletions
diff --git a/src/backend/storage/ipc/ipci.c b/src/backend/storage/ipc/ipci.c index 872a33ff16..4beba862de 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.83 2006/05/08 00:00:10 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/storage/ipc/ipci.c,v 1.84 2006/06/19 01:51:21 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -21,6 +21,7 @@ #include "access/twophase.h" #include "access/xlog.h" #include "miscadmin.h" +#include "pgstat.h" #include "postmaster/bgwriter.h" #include "postmaster/postmaster.h" #include "storage/bufmgr.h" @@ -86,6 +87,7 @@ CreateSharedMemoryAndSemaphores(bool makePrivate, int port) size = add_size(size, MultiXactShmemSize()); size = add_size(size, LWLockShmemSize()); size = add_size(size, ProcArrayShmemSize()); + size = add_size(size, BackendStatusShmemSize()); size = add_size(size, SInvalShmemSize()); size = add_size(size, FreeSpaceShmemSize()); size = add_size(size, BgWriterShmemSize()); @@ -167,6 +169,7 @@ CreateSharedMemoryAndSemaphores(bool makePrivate, int port) if (!IsUnderPostmaster) InitProcGlobal(); CreateSharedProcArray(); + CreateSharedBackendStatus(); /* * Set up shared-inval messaging diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c index 1cee032b52..f899b7a0e8 100644 --- a/src/backend/storage/ipc/procarray.c +++ b/src/backend/storage/ipc/procarray.c @@ -23,7 +23,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/ipc/procarray.c,v 1.11 2006/03/05 15:58:37 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/storage/ipc/procarray.c,v 1.12 2006/06/19 01:51:21 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -733,42 +733,6 @@ IsBackendPid(int pid) } /* - * GetAllBackendPids -- get an array of all current backends' PIDs - * - * The result is a palloc'd array with the number of active backends in - * entry [0], their PIDs in entries [1] .. [n]. The caller must bear in - * mind that the result may already be obsolete when returned. - */ -int * -GetAllBackendPids(void) -{ - int *result; - int npids; - ProcArrayStruct *arrayP = procArray; - int index; - - result = (int *) palloc((MaxBackends + 1) * sizeof(int)); - npids = 0; - - LWLockAcquire(ProcArrayLock, LW_SHARED); - - for (index = 0; index < arrayP->numProcs; index++) - { - PGPROC *proc = arrayP->procs[index]; - - if (proc->pid != 0) /* ignore dummy procs */ - result[++npids] = proc->pid; - } - - LWLockRelease(ProcArrayLock); - - Assert(npids <= MaxBackends); - - result[0] = npids; - return result; -} - -/* * CountActiveBackends --- count backends (other than myself) that are in * active transactions. This is used as a heuristic to decide if * a pre-XLOG-flush delay is worthwhile during commit. |
