Introduce FlexLocks.
authorRobert Haas <rhaas@postgresql.org>
Tue, 8 Nov 2011 18:53:21 +0000 (13:53 -0500)
committerRobert Haas <rhaas@postgresql.org>
Fri, 2 Dec 2011 11:35:30 +0000 (06:35 -0500)
commitf98db4f264ea655f713536db5eed89ebf9531191
tree546ea40f6e22923221283c08c2ae62eb02285f16
parent1e616f639156b2431725f7823c999486ca46c1ea
Introduce FlexLocks.

This commit separates the LWLock code into an upper level and a lower
level.  The lower level, called FlexLocks, provides some generic
infrastructure for lock waits and error handling, and allows multiple
types of locks to be implemented on top of the basic infrastructure.
Currently, the only client of this infrastructure is the existing
LWLock system, from which most of the FlexLock code was extracted.
30 files changed:
contrib/pg_stat_statements/pg_stat_statements.c
doc/src/sgml/config.sgml
doc/src/sgml/monitoring.sgml
src/backend/access/transam/slru.c
src/backend/access/transam/twophase.c
src/backend/access/transam/xact.c
src/backend/bootstrap/bootstrap.c
src/backend/postmaster/bgwriter.c
src/backend/postmaster/checkpointer.c
src/backend/postmaster/postmaster.c
src/backend/postmaster/walwriter.c
src/backend/storage/buffer/bufmgr.c
src/backend/storage/ipc/ipci.c
src/backend/storage/lmgr/Makefile
src/backend/storage/lmgr/flexlock.c [new file with mode: 0644]
src/backend/storage/lmgr/lock.c
src/backend/storage/lmgr/lwlock.c
src/backend/storage/lmgr/predicate.c
src/backend/storage/lmgr/proc.c
src/backend/utils/misc/check_guc
src/backend/utils/misc/guc.c
src/backend/utils/probes.d
src/include/access/slru.h
src/include/pg_config_manual.h
src/include/storage/buf_internals.h
src/include/storage/flexlock.h [new file with mode: 0644]
src/include/storage/flexlock_internals.h [new file with mode: 0644]
src/include/storage/lock.h
src/include/storage/lwlock.h
src/include/storage/proc.h