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/include/storage/sinval.h | |
| 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/include/storage/sinval.h')
| -rw-r--r-- | src/include/storage/sinval.h | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/src/include/storage/sinval.h b/src/include/storage/sinval.h index 092b722048..0f4c0f68f3 100644 --- a/src/include/storage/sinval.h +++ b/src/include/storage/sinval.h @@ -7,14 +7,13 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/storage/sinval.h,v 1.40 2005/01/10 21:57:19 tgl Exp $ + * $PostgreSQL: pgsql/src/include/storage/sinval.h,v 1.41 2005/05/19 21:35:47 tgl Exp $ * *------------------------------------------------------------------------- */ #ifndef SINVAL_H #define SINVAL_H -#include "storage/backendid.h" #include "storage/itemptr.h" #include "storage/relfilenode.h" @@ -87,24 +86,12 @@ typedef union extern int SInvalShmemSize(int maxBackends); extern void CreateSharedInvalidationState(int maxBackends); extern void InitBackendSharedInvalidationState(void); + extern void SendSharedInvalidMessage(SharedInvalidationMessage *msg); extern void ReceiveSharedInvalidMessages( void (*invalFunction) (SharedInvalidationMessage *msg), void (*resetFunction) (void)); -extern bool DatabaseHasActiveBackends(Oid databaseId, bool ignoreMyself); -extern bool TransactionIdIsInProgress(TransactionId xid); -extern bool IsBackendPid(int pid); -extern TransactionId GetOldestXmin(bool allDbs); -extern int CountActiveBackends(void); -extern int CountEmptyBackendSlots(void); - -/* Use "struct PGPROC", not PGPROC, to avoid including proc.h here */ -extern struct PGPROC *BackendIdGetProc(BackendId procId); - -extern void XidCacheRemoveRunningXids(TransactionId xid, - int nxids, TransactionId *xids); - /* signal handler for catchup events (SIGUSR1) */ extern void CatchupInterruptHandler(SIGNAL_ARGS); |
