From b6dd24fec67f5e9a4e26ecb4fe7bb7487bafaf31 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Wed, 24 Jun 2026 19:07:18 +0300 Subject: [PATCH v13 5/9] Move CHECK_FOR_INTERRUPTS() and friends to new ipc/interrupt.h header --- contrib/amcheck/verify_gin.c | 1 + contrib/amcheck/verify_heapam.c | 2 +- contrib/amcheck/verify_nbtree.c | 2 +- contrib/bloom/blinsert.c | 2 +- contrib/file_fdw/file_fdw.c | 1 + contrib/hstore_plperl/hstore_plperl.c | 2 +- contrib/jsonb_plperl/jsonb_plperl.c | 1 + contrib/ltree/lquery_op.c | 1 + contrib/pg_prewarm/pg_prewarm.c | 1 + contrib/pg_surgery/heap_surgery.c | 1 + contrib/pg_trgm/trgm_op.c | 2 +- contrib/pg_visibility/pg_visibility.c | 2 +- contrib/pg_walinspect/pg_walinspect.c | 1 + contrib/pgcrypto/crypt-blowfish.c | 3 +- contrib/pgcrypto/crypt-des.c | 3 +- contrib/pgcrypto/crypt-sha.c | 2 +- contrib/pgstattuple/pgstatapprox.c | 1 + contrib/pgstattuple/pgstatindex.c | 1 + contrib/pgstattuple/pgstattuple.c | 1 + contrib/postgres_fdw/connection.c | 1 + contrib/postgres_fdw/postgres_fdw.c | 1 + contrib/tsm_system_rows/tsm_system_rows.c | 2 +- contrib/tsm_system_time/tsm_system_time.c | 2 +- src/backend/access/brin/brin.c | 2 +- src/backend/access/brin/brin_pageops.c | 2 +- src/backend/access/brin/brin_revmap.c | 2 +- src/backend/access/common/toast_internals.c | 2 +- src/backend/access/gin/ginbtree.c | 2 +- src/backend/access/gin/gindatapage.c | 2 +- src/backend/access/gin/ginfast.c | 1 + src/backend/access/gin/ginget.c | 1 + src/backend/access/gin/gininsert.c | 2 +- src/backend/access/gin/ginutil.c | 2 +- src/backend/access/gin/ginvacuum.c | 1 + src/backend/access/gist/gist.c | 1 + src/backend/access/gist/gistbuild.c | 1 + src/backend/access/gist/gistget.c | 2 +- src/backend/access/gist/gistvacuum.c | 2 +- src/backend/access/hash/hash.c | 2 +- src/backend/access/hash/hashinsert.c | 2 +- src/backend/access/hash/hashovfl.c | 2 +- src/backend/access/hash/hashpage.c | 2 +- src/backend/access/hash/hashsearch.c | 2 +- src/backend/access/hash/hashsort.c | 2 +- src/backend/access/heap/heapam_handler.c | 2 +- src/backend/access/heap/pruneheap.c | 2 +- src/backend/access/heap/vacuumlazy.c | 2 +- src/backend/access/heap/visibilitymap.c | 2 +- src/backend/access/index/genam.c | 1 + src/backend/access/nbtree/nbtdedup.c | 2 +- src/backend/access/nbtree/nbtinsert.c | 2 +- src/backend/access/nbtree/nbtpage.c | 1 + src/backend/access/nbtree/nbtsearch.c | 2 +- src/backend/access/nbtree/nbtsort.c | 2 +- src/backend/access/spgist/spgdoinsert.c | 2 +- src/backend/access/spgist/spginsert.c | 2 +- src/backend/access/spgist/spgscan.c | 2 +- src/backend/access/spgist/spgvacuum.c | 2 +- src/backend/access/transam/generic_xlog.c | 2 +- src/backend/access/transam/multixact.c | 2 +- src/backend/access/transam/slru.c | 2 +- src/backend/access/transam/twophase.c | 2 +- src/backend/access/transam/xlogfuncs.c | 2 +- src/backend/access/transam/xlogutils.c | 2 +- src/backend/access/transam/xlogwait.c | 2 +- src/backend/backup/basebackup.c | 2 +- src/backend/backup/basebackup_throttle.c | 2 +- src/backend/backup/walsummaryfuncs.c | 2 +- src/backend/bootstrap/bootparse.y | 2 +- src/backend/catalog/catalog.c | 1 + src/backend/catalog/index.c | 2 +- src/backend/catalog/storage.c | 2 +- src/backend/commands/analyze.c | 2 +- src/backend/commands/copyfrom.c | 2 +- src/backend/commands/dbcommands.c | 2 +- src/backend/commands/indexcmds.c | 2 +- src/backend/commands/matview.c | 2 +- src/backend/commands/publicationcmds.c | 1 + src/backend/commands/repack.c | 2 +- src/backend/commands/repack_worker.c | 1 + src/backend/commands/sequence.c | 2 +- src/backend/commands/vacuum.c | 2 +- src/backend/executor/execPartition.c | 1 + src/backend/executor/execProcnode.c | 1 + src/backend/executor/execSRF.c | 2 +- src/backend/executor/nodeAgg.c | 1 + src/backend/executor/nodeAppend.c | 2 +- src/backend/executor/nodeBitmapHeapscan.c | 2 +- src/backend/executor/nodeBitmapIndexscan.c | 1 + src/backend/executor/nodeCustom.c | 2 +- src/backend/executor/nodeGather.c | 1 + src/backend/executor/nodeGatherMerge.c | 2 +- src/backend/executor/nodeGroup.c | 2 +- src/backend/executor/nodeHash.c | 1 + src/backend/executor/nodeHashjoin.c | 2 +- src/backend/executor/nodeIncrementalSort.c | 1 + src/backend/executor/nodeIndexonlyscan.c | 2 +- src/backend/executor/nodeIndexscan.c | 2 +- src/backend/executor/nodeLimit.c | 2 +- src/backend/executor/nodeLockRows.c | 2 +- src/backend/executor/nodeMaterial.c | 1 + src/backend/executor/nodeMemoize.c | 1 + src/backend/executor/nodeMergeAppend.c | 2 +- src/backend/executor/nodeMergejoin.c | 2 +- src/backend/executor/nodeModifyTable.c | 2 +- src/backend/executor/nodeNestloop.c | 2 +- src/backend/executor/nodeProjectSet.c | 2 +- src/backend/executor/nodeRecursiveunion.c | 1 + src/backend/executor/nodeResult.c | 2 +- src/backend/executor/nodeSetOp.c | 2 +- src/backend/executor/nodeSort.c | 1 + src/backend/executor/nodeSubplan.c | 2 +- src/backend/executor/nodeTableFuncscan.c | 1 + src/backend/executor/nodeTidscan.c | 2 +- src/backend/executor/nodeUnique.c | 2 +- src/backend/executor/nodeWindowAgg.c | 1 + src/backend/lib/bipartite_match.c | 1 + src/backend/libpq/auth.c | 2 +- src/backend/libpq/pqcomm.c | 2 +- src/backend/libpq/pqmq.c | 2 +- src/backend/optimizer/prep/prepjointree.c | 1 + src/backend/optimizer/util/pathnode.c | 1 + src/backend/optimizer/util/predtest.c | 2 +- src/backend/partitioning/partbounds.c | 2 +- src/backend/port/win32_sema.c | 1 + src/backend/postmaster/auxprocess.c | 2 +- src/backend/postmaster/bgwriter.c | 2 +- src/backend/postmaster/checkpointer.c | 2 +- src/backend/postmaster/datachecksum_state.c | 2 +- src/backend/postmaster/interrupt.c | 1 + src/backend/postmaster/pgarch.c | 1 + src/backend/postmaster/startup.c | 1 + src/backend/postmaster/walsummarizer.c | 2 +- src/backend/postmaster/walwriter.c | 2 +- .../libpqwalreceiver/libpqwalreceiver.c | 3 +- .../replication/logical/applyparallelworker.c | 1 + src/backend/replication/logical/launcher.c | 2 +- src/backend/replication/logical/logical.c | 2 +- src/backend/replication/logical/logicalctl.c | 2 +- .../replication/logical/logicalfuncs.c | 2 +- src/backend/replication/logical/origin.c | 2 +- .../replication/logical/reorderbuffer.c | 2 +- .../replication/logical/sequencesync.c | 1 + src/backend/replication/logical/slotsync.c | 1 + src/backend/replication/logical/tablesync.c | 2 +- src/backend/replication/slot.c | 2 +- src/backend/replication/syncrep.c | 2 +- src/backend/replication/walreceiver.c | 2 +- src/backend/storage/aio/aio.c | 1 + src/backend/storage/aio/aio_callback.c | 2 +- src/backend/storage/aio/aio_io.c | 2 +- src/backend/storage/aio/method_io_uring.c | 2 +- src/backend/storage/aio/method_worker.c | 2 +- src/backend/storage/file/buffile.c | 2 +- src/backend/storage/file/copydir.c | 2 +- src/backend/storage/file/fd.c | 2 +- src/backend/storage/freespace/freespace.c | 2 +- src/backend/storage/ipc/dsm.c | 1 + src/backend/storage/ipc/ipc.c | 1 + src/backend/storage/ipc/procsignal.c | 2 +- src/backend/storage/ipc/shm_mq.c | 2 +- src/backend/storage/ipc/shmem.c | 1 + src/backend/storage/ipc/signalfuncs.c | 2 +- src/backend/storage/ipc/standby.c | 2 +- src/backend/storage/lmgr/condition_variable.c | 2 +- src/backend/storage/lmgr/lmgr.c | 2 +- src/backend/storage/lmgr/lock.c | 2 +- src/backend/storage/lmgr/lwlock.c | 2 +- src/backend/storage/lmgr/proc.c | 2 +- src/backend/storage/page/bufpage.c | 1 + src/backend/storage/smgr/smgr.c | 2 +- src/backend/tcop/fastpath.c | 1 + src/backend/tcop/pquery.c | 2 +- src/backend/tsearch/wparser_def.c | 1 + src/backend/utils/adt/dbsize.c | 1 + src/backend/utils/adt/geo_ops.c | 1 + src/backend/utils/adt/jsonpath.c | 1 + src/backend/utils/adt/jsonpath_exec.c | 1 + src/backend/utils/adt/jsonpath_gram.y | 2 +- src/backend/utils/adt/like.c | 1 + src/backend/utils/adt/numeric.c | 2 +- src/backend/utils/adt/oracle_compat.c | 2 +- src/backend/utils/adt/orderedsetaggs.c | 1 + src/backend/utils/adt/ruleutils.c | 1 + src/backend/utils/adt/tsquery_rewrite.c | 1 + src/backend/utils/adt/tsvector_op.c | 1 + src/backend/utils/adt/varlena.c | 2 +- src/backend/utils/cache/inval.c | 1 + src/backend/utils/init/globals.c | 1 + src/backend/utils/misc/timeout.c | 1 + src/backend/utils/mmgr/mcxt.c | 1 + src/backend/utils/sort/qsort_interruptible.c | 2 +- src/backend/utils/sort/tuplesort.c | 2 +- src/backend/utils/sort/tuplestore.c | 2 +- src/backend/utils/time/combocid.c | 2 +- src/common/scram-common.c | 2 +- src/include/executor/execScan.h | 2 +- src/include/ipc/interrupt.h | 192 ++++++++++++++++++ src/include/libpq/libpq-be-fe-helpers.h | 3 +- src/include/miscadmin.h | 128 ------------ src/include/regex/regcustom.h | 1 + src/include/utils/backend_status.h | 1 + src/include/utils/pgstat_internal.h | 1 + src/pl/plperl/plperl.c | 1 + src/pl/plpgsql/src/pl_exec.c | 2 +- src/port/pg_numa.c | 5 +- .../injection_points/regress_injection.c | 2 +- .../modules/test_bitmapset/test_bitmapset.c | 2 +- .../test_bloomfilter/test_bloomfilter.c | 2 +- .../modules/test_saslprep/test_saslprep.c | 2 +- src/test/modules/test_shm_mq/setup.c | 1 + src/test/modules/test_shm_mq/test.c | 2 +- src/test/modules/test_shm_mq/worker.c | 2 +- .../modules/xid_wraparound/xid_wraparound.c | 2 +- src/test/regress/regress.c | 2 +- 215 files changed, 411 insertions(+), 272 deletions(-) create mode 100644 src/include/ipc/interrupt.h diff --git a/contrib/amcheck/verify_gin.c b/contrib/amcheck/verify_gin.c index abfad07d5e4..319c1008c4d 100644 --- a/contrib/amcheck/verify_gin.c +++ b/contrib/amcheck/verify_gin.c @@ -25,6 +25,7 @@ #include "access/gin_private.h" #include "access/nbtree.h" #include "catalog/pg_am.h" +#include "ipc/interrupt.h" #include "utils/memutils.h" #include "utils/rel.h" #include "verify_common.h" diff --git a/contrib/amcheck/verify_heapam.c b/contrib/amcheck/verify_heapam.c index 20ff58aa782..d3b1e5787f9 100644 --- a/contrib/amcheck/verify_heapam.c +++ b/contrib/amcheck/verify_heapam.c @@ -22,7 +22,7 @@ #include "catalog/pg_am.h" #include "catalog/pg_class.h" #include "funcapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/bufmgr.h" #include "storage/lwlock.h" #include "storage/procarray.h" diff --git a/contrib/amcheck/verify_nbtree.c b/contrib/amcheck/verify_nbtree.c index 3ef2d66f826..4ff2dfed618 100644 --- a/contrib/amcheck/verify_nbtree.c +++ b/contrib/amcheck/verify_nbtree.c @@ -35,8 +35,8 @@ #include "catalog/pg_am.h" #include "catalog/pg_opfamily_d.h" #include "common/pg_prng.h" +#include "ipc/interrupt.h" #include "lib/bloomfilter.h" -#include "miscadmin.h" #include "storage/smgr.h" #include "utils/guc.h" #include "utils/memutils.h" diff --git a/contrib/bloom/blinsert.c b/contrib/bloom/blinsert.c index df24856d9ae..5e774798da0 100644 --- a/contrib/bloom/blinsert.c +++ b/contrib/bloom/blinsert.c @@ -16,7 +16,7 @@ #include "access/generic_xlog.h" #include "access/tableam.h" #include "bloom.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/execnodes.h" #include "storage/bufmgr.h" #include "utils/memutils.h" diff --git a/contrib/file_fdw/file_fdw.c b/contrib/file_fdw/file_fdw.c index 33a37d832ce..f684fd014eb 100644 --- a/contrib/file_fdw/file_fdw.c +++ b/contrib/file_fdw/file_fdw.c @@ -30,6 +30,7 @@ #include "executor/executor.h" #include "foreign/fdwapi.h" #include "foreign/foreign.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/makefuncs.h" #include "optimizer/optimizer.h" diff --git a/contrib/hstore_plperl/hstore_plperl.c b/contrib/hstore_plperl/hstore_plperl.c index 336ead65a18..6a8e4461015 100644 --- a/contrib/hstore_plperl/hstore_plperl.c +++ b/contrib/hstore_plperl/hstore_plperl.c @@ -2,7 +2,7 @@ #include "fmgr.h" #include "hstore/hstore.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "plperl.h" PG_MODULE_MAGIC_EXT( diff --git a/contrib/jsonb_plperl/jsonb_plperl.c b/contrib/jsonb_plperl/jsonb_plperl.c index 97d147cc65a..c4ea78d3af5 100644 --- a/contrib/jsonb_plperl/jsonb_plperl.c +++ b/contrib/jsonb_plperl/jsonb_plperl.c @@ -3,6 +3,7 @@ #include #include "fmgr.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "plperl.h" #include "utils/fmgrprotos.h" diff --git a/contrib/ltree/lquery_op.c b/contrib/ltree/lquery_op.c index e6a1969c3d3..c6d1779b799 100644 --- a/contrib/ltree/lquery_op.c +++ b/contrib/ltree/lquery_op.c @@ -8,6 +8,7 @@ #include #include "catalog/pg_collation.h" +#include "ipc/interrupt.h" #include "ltree.h" #include "miscadmin.h" #include "utils/array.h" diff --git a/contrib/pg_prewarm/pg_prewarm.c b/contrib/pg_prewarm/pg_prewarm.c index c2716086693..6855bdc6d93 100644 --- a/contrib/pg_prewarm/pg_prewarm.c +++ b/contrib/pg_prewarm/pg_prewarm.c @@ -18,6 +18,7 @@ #include "access/relation.h" #include "catalog/index.h" #include "fmgr.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/bufmgr.h" #include "storage/lmgr.h" diff --git a/contrib/pg_surgery/heap_surgery.c b/contrib/pg_surgery/heap_surgery.c index b8ce1095782..1263c7b76ec 100644 --- a/contrib/pg_surgery/heap_surgery.c +++ b/contrib/pg_surgery/heap_surgery.c @@ -17,6 +17,7 @@ #include "access/visibilitymap.h" #include "access/xloginsert.h" #include "catalog/pg_am_d.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/bufmgr.h" #include "utils/acl.h" diff --git a/contrib/pg_trgm/trgm_op.c b/contrib/pg_trgm/trgm_op.c index 22bcc3c3361..79634deb1ec 100644 --- a/contrib/pg_trgm/trgm_op.c +++ b/contrib/pg_trgm/trgm_op.c @@ -8,8 +8,8 @@ #include "catalog/pg_collation_d.h" #include "catalog/pg_type.h" #include "common/int.h" +#include "ipc/interrupt.h" #include "lib/qunique.h" -#include "miscadmin.h" #include "trgm.h" #include "tsearch/ts_locale.h" #include "utils/formatting.h" diff --git a/contrib/pg_visibility/pg_visibility.c b/contrib/pg_visibility/pg_visibility.c index dfab0b64cf5..fb97bfba541 100644 --- a/contrib/pg_visibility/pg_visibility.c +++ b/contrib/pg_visibility/pg_visibility.c @@ -17,7 +17,7 @@ #include "catalog/pg_type.h" #include "catalog/storage_xlog.h" #include "funcapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/bufmgr.h" #include "storage/proc.h" #include "storage/procarray.h" diff --git a/contrib/pg_walinspect/pg_walinspect.c b/contrib/pg_walinspect/pg_walinspect.c index 4cf6e41e2f5..13a93f35eb1 100644 --- a/contrib/pg_walinspect/pg_walinspect.c +++ b/contrib/pg_walinspect/pg_walinspect.c @@ -20,6 +20,7 @@ #include "access/xlogstats.h" #include "access/xlogutils.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "port/pg_bitutils.h" #include "utils/array.h" diff --git a/contrib/pgcrypto/crypt-blowfish.c b/contrib/pgcrypto/crypt-blowfish.c index 563393c9284..40b9ad1fa94 100644 --- a/contrib/pgcrypto/crypt-blowfish.c +++ b/contrib/pgcrypto/crypt-blowfish.c @@ -33,7 +33,8 @@ */ #include "postgres.h" -#include "miscadmin.h" + +#include "ipc/interrupt.h" #include "px-crypt.h" #include "px.h" diff --git a/contrib/pgcrypto/crypt-des.c b/contrib/pgcrypto/crypt-des.c index 98c30ea122e..1ee27a94cdf 100644 --- a/contrib/pgcrypto/crypt-des.c +++ b/contrib/pgcrypto/crypt-des.c @@ -61,7 +61,8 @@ */ #include "postgres.h" -#include "miscadmin.h" + +#include "ipc/interrupt.h" #include "port/pg_bswap.h" #include "px-crypt.h" diff --git a/contrib/pgcrypto/crypt-sha.c b/contrib/pgcrypto/crypt-sha.c index 8191ba02b23..8e04249ef8a 100644 --- a/contrib/pgcrypto/crypt-sha.c +++ b/contrib/pgcrypto/crypt-sha.c @@ -46,8 +46,8 @@ #include "postgres.h" #include "common/string.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" -#include "miscadmin.h" #include "px-crypt.h" #include "px.h" diff --git a/contrib/pgstattuple/pgstatapprox.c b/contrib/pgstattuple/pgstatapprox.c index 21e0b50fb4b..8de6624bff1 100644 --- a/contrib/pgstattuple/pgstatapprox.c +++ b/contrib/pgstattuple/pgstatapprox.c @@ -19,6 +19,7 @@ #include "catalog/pg_am_d.h" #include "commands/vacuum.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/bufmgr.h" #include "storage/freespace.h" diff --git a/contrib/pgstattuple/pgstatindex.c b/contrib/pgstattuple/pgstatindex.c index 3a3f2637bd9..fb958b01965 100644 --- a/contrib/pgstattuple/pgstatindex.c +++ b/contrib/pgstattuple/pgstatindex.c @@ -35,6 +35,7 @@ #include "catalog/namespace.h" #include "catalog/pg_am.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/bufmgr.h" #include "storage/read_stream.h" diff --git a/contrib/pgstattuple/pgstattuple.c b/contrib/pgstattuple/pgstattuple.c index 6a7f8cb4a7c..e83b1bef878 100644 --- a/contrib/pgstattuple/pgstattuple.c +++ b/contrib/pgstattuple/pgstattuple.c @@ -33,6 +33,7 @@ #include "catalog/namespace.h" #include "catalog/pg_am_d.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/bufmgr.h" #include "storage/lmgr.h" diff --git a/contrib/postgres_fdw/connection.c b/contrib/postgres_fdw/connection.c index aab21695979..77f0c1cf82c 100644 --- a/contrib/postgres_fdw/connection.c +++ b/contrib/postgres_fdw/connection.c @@ -34,6 +34,7 @@ #include "utils/inval.h" #include "utils/syscache.h" #include "utils/tuplestore.h" +#include "utils/wait_event.h" /* * Connection cache hash table entry diff --git a/contrib/postgres_fdw/postgres_fdw.c b/contrib/postgres_fdw/postgres_fdw.c index 6dbae583ecc..00af1ce85ee 100644 --- a/contrib/postgres_fdw/postgres_fdw.c +++ b/contrib/postgres_fdw/postgres_fdw.c @@ -27,6 +27,7 @@ #include "executor/spi.h" #include "foreign/fdwapi.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" diff --git a/contrib/tsm_system_rows/tsm_system_rows.c b/contrib/tsm_system_rows/tsm_system_rows.c index a9a24833730..fa5fb401a67 100644 --- a/contrib/tsm_system_rows/tsm_system_rows.c +++ b/contrib/tsm_system_rows/tsm_system_rows.c @@ -30,7 +30,7 @@ #include "access/tsmapi.h" #include "catalog/pg_type.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "optimizer/optimizer.h" #include "utils/sampling.h" diff --git a/contrib/tsm_system_time/tsm_system_time.c b/contrib/tsm_system_time/tsm_system_time.c index 4814c31bc6f..b50a5f60923 100644 --- a/contrib/tsm_system_time/tsm_system_time.c +++ b/contrib/tsm_system_time/tsm_system_time.c @@ -28,7 +28,7 @@ #include "access/tsmapi.h" #include "catalog/pg_type.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "optimizer/optimizer.h" #include "portability/instr_time.h" #include "utils/sampling.h" diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c index bdb30752e09..77439feb0f5 100644 --- a/src/backend/access/brin/brin.c +++ b/src/backend/access/brin/brin.c @@ -29,7 +29,7 @@ #include "catalog/pg_am.h" #include "commands/vacuum.h" #include "executor/instrument.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "postmaster/autovacuum.h" #include "storage/bufmgr.h" diff --git a/src/backend/access/brin/brin_pageops.c b/src/backend/access/brin/brin_pageops.c index 7da97bec43b..308ffd7e567 100644 --- a/src/backend/access/brin/brin_pageops.c +++ b/src/backend/access/brin/brin_pageops.c @@ -15,7 +15,7 @@ #include "access/brin_revmap.h" #include "access/brin_xlog.h" #include "access/xloginsert.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/bufmgr.h" #include "storage/freespace.h" #include "storage/lmgr.h" diff --git a/src/backend/access/brin/brin_revmap.c b/src/backend/access/brin/brin_revmap.c index 233355cb2d5..526ba747c60 100644 --- a/src/backend/access/brin/brin_revmap.c +++ b/src/backend/access/brin/brin_revmap.c @@ -27,7 +27,7 @@ #include "access/brin_xlog.h" #include "access/rmgr.h" #include "access/xloginsert.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/bufmgr.h" #include "utils/rel.h" diff --git a/src/backend/access/common/toast_internals.c b/src/backend/access/common/toast_internals.c index 77d42e7ed65..6a0034572c9 100644 --- a/src/backend/access/common/toast_internals.c +++ b/src/backend/access/common/toast_internals.c @@ -21,7 +21,7 @@ #include "access/toast_internals.h" #include "access/xact.h" #include "catalog/catalog.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "utils/fmgroids.h" #include "utils/rel.h" #include "utils/snapmgr.h" diff --git a/src/backend/access/gin/ginbtree.c b/src/backend/access/gin/ginbtree.c index 3d3a9da56b1..c4f28bfb11f 100644 --- a/src/backend/access/gin/ginbtree.c +++ b/src/backend/access/gin/ginbtree.c @@ -17,7 +17,7 @@ #include "access/gin_private.h" #include "access/ginxlog.h" #include "access/xloginsert.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/predicate.h" #include "utils/injection_point.h" #include "utils/memutils.h" diff --git a/src/backend/access/gin/gindatapage.c b/src/backend/access/gin/gindatapage.c index c5d7db28077..06c996f6fc0 100644 --- a/src/backend/access/gin/gindatapage.c +++ b/src/backend/access/gin/gindatapage.c @@ -17,8 +17,8 @@ #include "access/gin_private.h" #include "access/ginxlog.h" #include "access/xloginsert.h" +#include "ipc/interrupt.h" #include "lib/ilist.h" -#include "miscadmin.h" #include "storage/predicate.h" #include "utils/rel.h" diff --git a/src/backend/access/gin/ginfast.c b/src/backend/access/gin/ginfast.c index f50848eb65a..ddf414660e0 100644 --- a/src/backend/access/gin/ginfast.c +++ b/src/backend/access/gin/ginfast.c @@ -24,6 +24,7 @@ #include "access/xloginsert.h" #include "catalog/pg_am.h" #include "commands/vacuum.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "port/pg_bitutils.h" #include "postmaster/autovacuum.h" diff --git a/src/backend/access/gin/ginget.c b/src/backend/access/gin/ginget.c index 6b148e69a8e..0ef55d304b8 100644 --- a/src/backend/access/gin/ginget.c +++ b/src/backend/access/gin/ginget.c @@ -17,6 +17,7 @@ #include "access/gin_private.h" #include "access/relscan.h" #include "common/pg_prng.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/predicate.h" #include "utils/datum.h" diff --git a/src/backend/access/gin/gininsert.c b/src/backend/access/gin/gininsert.c index cb9ed3b563c..ebe92d9ba1e 100644 --- a/src/backend/access/gin/gininsert.c +++ b/src/backend/access/gin/gininsert.c @@ -24,7 +24,7 @@ #include "catalog/pg_collation.h" #include "commands/progress.h" #include "executor/instrument.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/execnodes.h" #include "pgstat.h" #include "storage/bufmgr.h" diff --git a/src/backend/access/gin/ginutil.c b/src/backend/access/gin/ginutil.c index e7cba81d477..45e9abd5ab3 100644 --- a/src/backend/access/gin/ginutil.c +++ b/src/backend/access/gin/ginutil.c @@ -22,7 +22,7 @@ #include "catalog/pg_type.h" #include "commands/progress.h" #include "commands/vacuum.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/indexfsm.h" #include "utils/builtins.h" #include "utils/index_selfuncs.h" diff --git a/src/backend/access/gin/ginvacuum.c b/src/backend/access/gin/ginvacuum.c index 840543eb664..1a57797ea17 100644 --- a/src/backend/access/gin/ginvacuum.c +++ b/src/backend/access/gin/ginvacuum.c @@ -18,6 +18,7 @@ #include "access/ginxlog.h" #include "access/xloginsert.h" #include "commands/vacuum.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/indexfsm.h" #include "storage/lmgr.h" diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c index 8565e225be7..468b53b3783 100644 --- a/src/backend/access/gist/gist.c +++ b/src/backend/access/gist/gist.c @@ -19,6 +19,7 @@ #include "access/xloginsert.h" #include "catalog/pg_collation.h" #include "commands/vacuum.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/execnodes.h" #include "storage/predicate.h" diff --git a/src/backend/access/gist/gistbuild.c b/src/backend/access/gist/gistbuild.c index 7f57c787f4c..8fb29e8f853 100644 --- a/src/backend/access/gist/gistbuild.c +++ b/src/backend/access/gist/gistbuild.c @@ -38,6 +38,7 @@ #include "access/gist_private.h" #include "access/tableam.h" #include "access/xloginsert.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/execnodes.h" #include "optimizer/optimizer.h" diff --git a/src/backend/access/gist/gistget.c b/src/backend/access/gist/gistget.c index 4d7c100d737..49cac5cf550 100644 --- a/src/backend/access/gist/gistget.c +++ b/src/backend/access/gist/gistget.c @@ -18,8 +18,8 @@ #include "access/gist_private.h" #include "access/relscan.h" #include "executor/instrument_node.h" +#include "ipc/interrupt.h" #include "lib/pairingheap.h" -#include "miscadmin.h" #include "pgstat.h" #include "storage/predicate.h" #include "utils/float.h" diff --git a/src/backend/access/gist/gistvacuum.c b/src/backend/access/gist/gistvacuum.c index 686a0418054..730ca03ee6e 100644 --- a/src/backend/access/gist/gistvacuum.c +++ b/src/backend/access/gist/gistvacuum.c @@ -18,8 +18,8 @@ #include "access/gist_private.h" #include "access/xloginsert.h" #include "commands/vacuum.h" +#include "ipc/interrupt.h" #include "lib/integerset.h" -#include "miscadmin.h" #include "storage/indexfsm.h" #include "storage/lmgr.h" #include "storage/read_stream.h" diff --git a/src/backend/access/hash/hash.c b/src/backend/access/hash/hash.c index 8d8cd30dc38..7eec90e8c21 100644 --- a/src/backend/access/hash/hash.c +++ b/src/backend/access/hash/hash.c @@ -26,7 +26,7 @@ #include "access/xloginsert.h" #include "commands/progress.h" #include "commands/vacuum.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/execnodes.h" #include "optimizer/plancat.h" #include "pgstat.h" diff --git a/src/backend/access/hash/hashinsert.c b/src/backend/access/hash/hashinsert.c index 3395bbc13f8..707b61c14ae 100644 --- a/src/backend/access/hash/hashinsert.c +++ b/src/backend/access/hash/hashinsert.c @@ -18,7 +18,7 @@ #include "access/hash.h" #include "access/hash_xlog.h" #include "access/xloginsert.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/predicate.h" #include "utils/rel.h" diff --git a/src/backend/access/hash/hashovfl.c b/src/backend/access/hash/hashovfl.c index dbc57ef958c..ddfc3404750 100644 --- a/src/backend/access/hash/hashovfl.c +++ b/src/backend/access/hash/hashovfl.c @@ -20,7 +20,7 @@ #include "access/hash.h" #include "access/hash_xlog.h" #include "access/xloginsert.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "utils/rel.h" diff --git a/src/backend/access/hash/hashpage.c b/src/backend/access/hash/hashpage.c index 8099b0d021f..761de7f126f 100644 --- a/src/backend/access/hash/hashpage.c +++ b/src/backend/access/hash/hashpage.c @@ -31,7 +31,7 @@ #include "access/hash.h" #include "access/hash_xlog.h" #include "access/xloginsert.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "port/pg_bitutils.h" #include "storage/predicate.h" #include "storage/smgr.h" diff --git a/src/backend/access/hash/hashsearch.c b/src/backend/access/hash/hashsearch.c index 89d1c5bc6d7..4c6a8980e52 100644 --- a/src/backend/access/hash/hashsearch.c +++ b/src/backend/access/hash/hashsearch.c @@ -16,8 +16,8 @@ #include "access/hash.h" #include "access/relscan.h" -#include "miscadmin.h" #include "executor/instrument_node.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/predicate.h" #include "utils/rel.h" diff --git a/src/backend/access/hash/hashsort.c b/src/backend/access/hash/hashsort.c index 77bbfaa461b..1bbf0d33966 100644 --- a/src/backend/access/hash/hashsort.c +++ b/src/backend/access/hash/hashsort.c @@ -27,7 +27,7 @@ #include "access/hash.h" #include "commands/progress.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "port/pg_bitutils.h" #include "utils/tuplesort.h" diff --git a/src/backend/access/heap/heapam_handler.c b/src/backend/access/heap/heapam_handler.c index 2268cc277bc..3fad977fc9d 100644 --- a/src/backend/access/heap/heapam_handler.c +++ b/src/backend/access/heap/heapam_handler.c @@ -35,7 +35,7 @@ #include "catalog/storage_xlog.h" #include "commands/progress.h" #include "executor/executor.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/bufmgr.h" #include "storage/bufpage.h" diff --git a/src/backend/access/heap/pruneheap.c b/src/backend/access/heap/pruneheap.c index fdddd23035b..53ad41010a3 100644 --- a/src/backend/access/heap/pruneheap.c +++ b/src/backend/access/heap/pruneheap.c @@ -24,7 +24,7 @@ #include "access/xloginsert.h" #include "commands/vacuum.h" #include "executor/instrument.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/bufmgr.h" #include "utils/rel.h" diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c index 39395aed0d5..75d8554e16c 100644 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@ -143,7 +143,7 @@ #include "common/int.h" #include "common/pg_prng.h" #include "executor/instrument.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "portability/instr_time.h" #include "postmaster/autovacuum.h" diff --git a/src/backend/access/heap/visibilitymap.c b/src/backend/access/heap/visibilitymap.c index 4fd470702aa..256b8507448 100644 --- a/src/backend/access/heap/visibilitymap.c +++ b/src/backend/access/heap/visibilitymap.c @@ -101,7 +101,7 @@ #include "access/visibilitymap.h" #include "access/xloginsert.h" #include "access/xlogutils.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "port/pg_bitutils.h" #include "storage/bufmgr.h" #include "storage/smgr.h" diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c index 1408989c568..f1aa144f96b 100644 --- a/src/backend/access/index/genam.c +++ b/src/backend/access/index/genam.c @@ -25,6 +25,7 @@ #include "access/tableam.h" #include "access/transam.h" #include "catalog/index.h" +#include "ipc/interrupt.h" #include "lib/stringinfo.h" #include "miscadmin.h" #include "storage/bufmgr.h" diff --git a/src/backend/access/nbtree/nbtdedup.c b/src/backend/access/nbtree/nbtdedup.c index af7affdf409..d580c2fc068 100644 --- a/src/backend/access/nbtree/nbtdedup.c +++ b/src/backend/access/nbtree/nbtdedup.c @@ -18,7 +18,7 @@ #include "access/nbtxlog.h" #include "access/tableam.h" #include "access/xloginsert.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "utils/rel.h" static void _bt_bottomupdel_finish_pending(Page page, BTDedupState state, diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c index c8af97dd23d..95c298db8fd 100644 --- a/src/backend/access/nbtree/nbtinsert.c +++ b/src/backend/access/nbtree/nbtinsert.c @@ -22,8 +22,8 @@ #include "access/xloginsert.h" #include "common/int.h" #include "common/pg_prng.h" +#include "ipc/interrupt.h" #include "lib/qunique.h" -#include "miscadmin.h" #include "storage/lmgr.h" #include "storage/predicate.h" #include "utils/injection_point.h" diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c index 0547038616e..ddd835d9b14 100644 --- a/src/backend/access/nbtree/nbtpage.c +++ b/src/backend/access/nbtree/nbtpage.c @@ -29,6 +29,7 @@ #include "access/xlog.h" #include "access/xloginsert.h" #include "common/int.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/indexfsm.h" #include "storage/predicate.h" diff --git a/src/backend/access/nbtree/nbtsearch.c b/src/backend/access/nbtree/nbtsearch.c index aae6acb7f57..44a9ab3da4b 100644 --- a/src/backend/access/nbtree/nbtsearch.c +++ b/src/backend/access/nbtree/nbtsearch.c @@ -19,7 +19,7 @@ #include "access/relscan.h" #include "access/xact.h" #include "executor/instrument_node.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/predicate.h" #include "utils/lsyscache.h" diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c index 756dfa3dcf4..3fba93e8b7a 100644 --- a/src/backend/access/nbtree/nbtsort.c +++ b/src/backend/access/nbtree/nbtsort.c @@ -49,7 +49,7 @@ #include "catalog/index.h" #include "commands/progress.h" #include "executor/instrument.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/bulk_write.h" #include "storage/condition_variable.h" diff --git a/src/backend/access/spgist/spgdoinsert.c b/src/backend/access/spgist/spgdoinsert.c index 7c7371c69e8..a8dff69cdca 100644 --- a/src/backend/access/spgist/spgdoinsert.c +++ b/src/backend/access/spgist/spgdoinsert.c @@ -21,7 +21,7 @@ #include "access/xloginsert.h" #include "common/int.h" #include "common/pg_prng.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/bufmgr.h" #include "utils/rel.h" diff --git a/src/backend/access/spgist/spginsert.c b/src/backend/access/spgist/spginsert.c index 780ef646a54..c2d7caf6f68 100644 --- a/src/backend/access/spgist/spginsert.c +++ b/src/backend/access/spgist/spginsert.c @@ -20,7 +20,7 @@ #include "access/spgist_private.h" #include "access/tableam.h" #include "access/xloginsert.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/execnodes.h" #include "storage/bufmgr.h" #include "storage/bulk_write.h" diff --git a/src/backend/access/spgist/spgscan.c b/src/backend/access/spgist/spgscan.c index 2cc5f06f5d7..475a50cddcf 100644 --- a/src/backend/access/spgist/spgscan.c +++ b/src/backend/access/spgist/spgscan.c @@ -19,7 +19,7 @@ #include "access/relscan.h" #include "access/spgist_private.h" #include "executor/instrument_node.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/bufmgr.h" #include "utils/datum.h" diff --git a/src/backend/access/spgist/spgvacuum.c b/src/backend/access/spgist/spgvacuum.c index c461f8dc02d..80197e121b2 100644 --- a/src/backend/access/spgist/spgvacuum.c +++ b/src/backend/access/spgist/spgvacuum.c @@ -21,7 +21,7 @@ #include "access/transam.h" #include "access/xloginsert.h" #include "commands/vacuum.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/bufmgr.h" #include "storage/indexfsm.h" #include "storage/lmgr.h" diff --git a/src/backend/access/transam/generic_xlog.c b/src/backend/access/transam/generic_xlog.c index 7f82186d0d6..6eca2451a70 100644 --- a/src/backend/access/transam/generic_xlog.c +++ b/src/backend/access/transam/generic_xlog.c @@ -16,7 +16,7 @@ #include "access/bufmask.h" #include "access/generic_xlog.h" #include "access/xlogutils.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" /*------------------------------------------------------------------------- * Internally, a delta between pages consists of a set of fragments. Each diff --git a/src/backend/access/transam/multixact.c b/src/backend/access/transam/multixact.c index 10cbc0d76bd..1000e533707 100644 --- a/src/backend/access/transam/multixact.c +++ b/src/backend/access/transam/multixact.c @@ -76,7 +76,7 @@ #include "access/xlog.h" #include "access/xloginsert.h" #include "access/xlogutils.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pg_trace.h" #include "pgstat.h" #include "postmaster/autovacuum.h" diff --git a/src/backend/access/transam/slru.c b/src/backend/access/transam/slru.c index 47dd52d6749..38eaab118c1 100644 --- a/src/backend/access/transam/slru.c +++ b/src/backend/access/transam/slru.c @@ -66,7 +66,7 @@ #include "access/transam.h" #include "access/xlog.h" #include "access/xlogutils.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/fd.h" #include "storage/shmem.h" diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index 1035e8b3fc7..3e5aa3690e4 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -91,7 +91,7 @@ #include "catalog/pg_type.h" #include "catalog/storage.h" #include "funcapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pg_trace.h" #include "pgstat.h" #include "replication/origin.h" diff --git a/src/backend/access/transam/xlogfuncs.c b/src/backend/access/transam/xlogfuncs.c index 65bbaeda59c..930d632f773 100644 --- a/src/backend/access/transam/xlogfuncs.c +++ b/src/backend/access/transam/xlogfuncs.c @@ -25,7 +25,7 @@ #include "catalog/pg_authid.h" #include "catalog/pg_type.h" #include "funcapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "utils/acl.h" #include "replication/walreceiver.h" diff --git a/src/backend/access/transam/xlogutils.c b/src/backend/access/transam/xlogutils.c index fdc341d8fa4..e52138835f0 100644 --- a/src/backend/access/transam/xlogutils.c +++ b/src/backend/access/transam/xlogutils.c @@ -23,7 +23,7 @@ #include "access/xlogrecovery.h" #include "access/xlog_internal.h" #include "access/xlogutils.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/fd.h" #include "storage/smgr.h" #include "utils/hsearch.h" diff --git a/src/backend/access/transam/xlogwait.c b/src/backend/access/transam/xlogwait.c index 582dde3b061..d24855385d1 100644 --- a/src/backend/access/transam/xlogwait.c +++ b/src/backend/access/transam/xlogwait.c @@ -51,7 +51,7 @@ #include "access/xlog.h" #include "access/xlogrecovery.h" #include "access/xlogwait.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "replication/walreceiver.h" #include "storage/latch.h" diff --git a/src/backend/backup/basebackup.c b/src/backend/backup/basebackup.c index 9c79dadaacc..628ad9a0ed8 100644 --- a/src/backend/backup/basebackup.c +++ b/src/backend/backup/basebackup.c @@ -28,8 +28,8 @@ #include "common/compression.h" #include "common/file_perm.h" #include "common/file_utils.h" +#include "ipc/interrupt.h" #include "lib/stringinfo.h" -#include "miscadmin.h" #include "nodes/pg_list.h" #include "pgstat.h" #include "pgtar.h" diff --git a/src/backend/backup/basebackup_throttle.c b/src/backend/backup/basebackup_throttle.c index 4d8d90f356b..25527784217 100644 --- a/src/backend/backup/basebackup_throttle.c +++ b/src/backend/backup/basebackup_throttle.c @@ -15,7 +15,7 @@ #include "postgres.h" #include "backup/basebackup_sink.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/latch.h" #include "utils/timestamp.h" diff --git a/src/backend/backup/walsummaryfuncs.c b/src/backend/backup/walsummaryfuncs.c index f83c1604263..dc27a0926d6 100644 --- a/src/backend/backup/walsummaryfuncs.c +++ b/src/backend/backup/walsummaryfuncs.c @@ -16,7 +16,7 @@ #include "backup/walsummary.h" #include "common/blkreftable.h" #include "funcapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "postmaster/walsummarizer.h" #include "utils/fmgrprotos.h" #include "utils/pg_lsn.h" diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y index 943ff4733d3..c4ad11be0b8 100644 --- a/src/backend/bootstrap/bootparse.y +++ b/src/backend/bootstrap/bootparse.y @@ -28,7 +28,7 @@ #include "catalog/pg_tablespace.h" #include "catalog/toasting.h" #include "commands/defrem.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/makefuncs.h" #include "utils/memutils.h" diff --git a/src/backend/catalog/catalog.c b/src/backend/catalog/catalog.c index 7be49032934..4f2e8645dab 100644 --- a/src/backend/catalog/catalog.c +++ b/src/backend/catalog/catalog.c @@ -41,6 +41,7 @@ #include "catalog/pg_subscription.h" #include "catalog/pg_tablespace.h" #include "catalog/pg_type.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "utils/fmgroids.h" #include "utils/fmgrprotos.h" diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index 9407c357f27..b93fb097cca 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -58,7 +58,7 @@ #include "commands/tablecmds.h" #include "commands/trigger.h" #include "executor/executor.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "optimizer/optimizer.h" diff --git a/src/backend/catalog/storage.c b/src/backend/catalog/storage.c index e443a4993c5..21091392189 100644 --- a/src/backend/catalog/storage.c +++ b/src/backend/catalog/storage.c @@ -26,7 +26,7 @@ #include "access/xlogutils.h" #include "catalog/storage.h" #include "catalog/storage_xlog.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/bulk_write.h" #include "storage/freespace.h" diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c index f66e80b757c..1cb087a0b83 100644 --- a/src/backend/commands/analyze.c +++ b/src/backend/commands/analyze.c @@ -36,7 +36,7 @@ #include "executor/executor.h" #include "executor/instrument.h" #include "foreign/fdwapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/nodeFuncs.h" #include "parser/parse_oper.h" #include "parser/parse_relation.h" diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c index 0087585b2c4..e6ba012e7d6 100644 --- a/src/backend/commands/copyfrom.c +++ b/src/backend/commands/copyfrom.c @@ -38,8 +38,8 @@ #include "executor/nodeModifyTable.h" #include "executor/tuptable.h" #include "foreign/fdwapi.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" -#include "miscadmin.h" #include "nodes/miscnodes.h" #include "optimizer/optimizer.h" #include "pgstat.h" diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index f0819d15ab7..38fcfca8ba5 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -49,8 +49,8 @@ #include "commands/seclabel.h" #include "commands/tablespace.h" #include "common/file_perm.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" -#include "miscadmin.h" #include "pgstat.h" #include "postmaster/bgwriter.h" #include "replication/slot.h" diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index 9ab74c8df0a..9e4b426e0b7 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -44,8 +44,8 @@ #include "commands/progress.h" #include "commands/tablecmds.h" #include "commands/tablespace.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" -#include "miscadmin.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "optimizer/optimizer.h" diff --git a/src/backend/commands/matview.c b/src/backend/commands/matview.c index f7d8007f796..2e5fc73beae 100644 --- a/src/backend/commands/matview.c +++ b/src/backend/commands/matview.c @@ -30,7 +30,7 @@ #include "commands/tablespace.h" #include "executor/executor.h" #include "executor/spi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "rewrite/rewriteHandler.h" #include "storage/lmgr.h" diff --git a/src/backend/commands/publicationcmds.c b/src/backend/commands/publicationcmds.c index 440adb356ad..ed2d2296f8c 100644 --- a/src/backend/commands/publicationcmds.c +++ b/src/backend/commands/publicationcmds.c @@ -32,6 +32,7 @@ #include "commands/defrem.h" #include "commands/event_trigger.h" #include "commands/publicationcmds.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/nodeFuncs.h" #include "parser/parse_clause.h" diff --git a/src/backend/commands/repack.c b/src/backend/commands/repack.c index a2a4c286772..4c5e8ea7a1c 100644 --- a/src/backend/commands/repack.c +++ b/src/backend/commands/repack.c @@ -58,9 +58,9 @@ #include "commands/tablecmds.h" #include "commands/vacuum.h" #include "executor/executor.h" +#include "ipc/interrupt.h" #include "libpq/pqformat.h" #include "libpq/pqmq.h" -#include "miscadmin.h" #include "optimizer/optimizer.h" #include "pgstat.h" #include "replication/logicalrelation.h" diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 9ff2e14904c..5888a5a1fe1 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -21,6 +21,7 @@ #include "access/xlogwait.h" #include "commands/repack.h" #include "commands/repack_internal.h" +#include "ipc/interrupt.h" #include "libpq/pqmq.h" #include "replication/snapbuild.h" #include "storage/ipc.h" diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 551667650ba..4fcc369e490 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -34,7 +34,7 @@ #include "commands/sequence_xlog.h" #include "commands/tablecmds.h" #include "funcapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/makefuncs.h" #include "parser/parse_type.h" #include "storage/bufmgr.h" diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c index a4abb29cf64..21e74184b61 100644 --- a/src/backend/commands/vacuum.c +++ b/src/backend/commands/vacuum.c @@ -42,7 +42,7 @@ #include "commands/progress.h" #include "commands/repack.h" #include "commands/vacuum.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/makefuncs.h" #include "pgstat.h" #include "postmaster/autovacuum.h" diff --git a/src/backend/executor/execPartition.c b/src/backend/executor/execPartition.c index d96d4f9947b..c52dc70b544 100644 --- a/src/backend/executor/execPartition.c +++ b/src/backend/executor/execPartition.c @@ -22,6 +22,7 @@ #include "executor/executor.h" #include "executor/nodeModifyTable.h" #include "foreign/fdwapi.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "partitioning/partbounds.h" diff --git a/src/backend/executor/execProcnode.c b/src/backend/executor/execProcnode.c index 7c4c66e323f..81a975680ee 100644 --- a/src/backend/executor/execProcnode.c +++ b/src/backend/executor/execProcnode.c @@ -117,6 +117,7 @@ #include "executor/nodeValuesscan.h" #include "executor/nodeWindowAgg.h" #include "executor/nodeWorktablescan.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/nodeFuncs.h" diff --git a/src/backend/executor/execSRF.c b/src/backend/executor/execSRF.c index 8aedcc6a459..d95f066fa4e 100644 --- a/src/backend/executor/execSRF.c +++ b/src/backend/executor/execSRF.c @@ -22,7 +22,7 @@ #include "catalog/objectaccess.h" #include "catalog/pg_proc.h" #include "funcapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/nodeFuncs.h" #include "parser/parse_coerce.h" #include "pgstat.h" diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c index 925caadd2ce..ddd0019b452 100644 --- a/src/backend/executor/nodeAgg.c +++ b/src/backend/executor/nodeAgg.c @@ -259,6 +259,7 @@ #include "executor/executor.h" #include "executor/instrument.h" #include "executor/nodeAgg.h" +#include "ipc/interrupt.h" #include "lib/hyperloglog.h" #include "miscadmin.h" #include "nodes/nodeFuncs.h" diff --git a/src/backend/executor/nodeAppend.c b/src/backend/executor/nodeAppend.c index 987358e27fa..2c67218912e 100644 --- a/src/backend/executor/nodeAppend.c +++ b/src/backend/executor/nodeAppend.c @@ -62,7 +62,7 @@ #include "executor/execPartition.h" #include "executor/executor.h" #include "executor/nodeAppend.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/latch.h" #include "storage/lwlock.h" diff --git a/src/backend/executor/nodeBitmapHeapscan.c b/src/backend/executor/nodeBitmapHeapscan.c index 83d6478bc2b..e0fcf46d3b3 100644 --- a/src/backend/executor/nodeBitmapHeapscan.c +++ b/src/backend/executor/nodeBitmapHeapscan.c @@ -41,7 +41,7 @@ #include "executor/executor.h" #include "executor/instrument.h" #include "executor/nodeBitmapHeapscan.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/bufmgr.h" #include "storage/condition_variable.h" diff --git a/src/backend/executor/nodeBitmapIndexscan.c b/src/backend/executor/nodeBitmapIndexscan.c index 7978514e1bc..28da3083fa6 100644 --- a/src/backend/executor/nodeBitmapIndexscan.c +++ b/src/backend/executor/nodeBitmapIndexscan.c @@ -26,6 +26,7 @@ #include "executor/instrument.h" #include "executor/nodeBitmapIndexscan.h" #include "executor/nodeIndexscan.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/tidbitmap.h" diff --git a/src/backend/executor/nodeCustom.c b/src/backend/executor/nodeCustom.c index b7cc890cd20..b520fb13070 100644 --- a/src/backend/executor/nodeCustom.c +++ b/src/backend/executor/nodeCustom.c @@ -13,7 +13,7 @@ #include "access/parallel.h" #include "executor/executor.h" #include "executor/nodeCustom.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/execnodes.h" #include "nodes/extensible.h" #include "nodes/plannodes.h" diff --git a/src/backend/executor/nodeGather.c b/src/backend/executor/nodeGather.c index 114693abb32..e500ae668d0 100644 --- a/src/backend/executor/nodeGather.c +++ b/src/backend/executor/nodeGather.c @@ -34,6 +34,7 @@ #include "executor/executor.h" #include "executor/nodeGather.h" #include "executor/tqueue.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "optimizer/optimizer.h" #include "storage/latch.h" diff --git a/src/backend/executor/nodeGatherMerge.c b/src/backend/executor/nodeGatherMerge.c index c2ac5e0792c..d9e4b559315 100644 --- a/src/backend/executor/nodeGatherMerge.c +++ b/src/backend/executor/nodeGatherMerge.c @@ -19,8 +19,8 @@ #include "executor/execParallel.h" #include "executor/nodeGatherMerge.h" #include "executor/tqueue.h" +#include "ipc/interrupt.h" #include "lib/binaryheap.h" -#include "miscadmin.h" #include "optimizer/optimizer.h" #include "utils/sortsupport.h" diff --git a/src/backend/executor/nodeGroup.c b/src/backend/executor/nodeGroup.c index 3699d8a3746..6ad97418b1d 100644 --- a/src/backend/executor/nodeGroup.c +++ b/src/backend/executor/nodeGroup.c @@ -25,7 +25,7 @@ #include "executor/executor.h" #include "executor/instrument.h" #include "executor/nodeGroup.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" /* diff --git a/src/backend/executor/nodeHash.c b/src/backend/executor/nodeHash.c index 8825bb6fa23..bf137e0ec6b 100644 --- a/src/backend/executor/nodeHash.c +++ b/src/backend/executor/nodeHash.c @@ -35,6 +35,7 @@ #include "executor/instrument.h" #include "executor/nodeHash.h" #include "executor/nodeHashjoin.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "port/pg_bitutils.h" #include "utils/lsyscache.h" diff --git a/src/backend/executor/nodeHashjoin.c b/src/backend/executor/nodeHashjoin.c index 0b365d5b475..87bb92b5327 100644 --- a/src/backend/executor/nodeHashjoin.c +++ b/src/backend/executor/nodeHashjoin.c @@ -169,7 +169,7 @@ #include "executor/instrument.h" #include "executor/nodeHash.h" #include "executor/nodeHashjoin.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "utils/lsyscache.h" #include "utils/sharedtuplestore.h" #include "utils/tuplestore.h" diff --git a/src/backend/executor/nodeIncrementalSort.c b/src/backend/executor/nodeIncrementalSort.c index 1d831049b65..3dab301a2a8 100644 --- a/src/backend/executor/nodeIncrementalSort.c +++ b/src/backend/executor/nodeIncrementalSort.c @@ -80,6 +80,7 @@ #include "executor/execdebug.h" #include "executor/nodeIncrementalSort.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "utils/lsyscache.h" #include "utils/tuplesort.h" diff --git a/src/backend/executor/nodeIndexonlyscan.c b/src/backend/executor/nodeIndexonlyscan.c index d52012e8a69..821a178b08f 100644 --- a/src/backend/executor/nodeIndexonlyscan.c +++ b/src/backend/executor/nodeIndexonlyscan.c @@ -40,7 +40,7 @@ #include "executor/instrument.h" #include "executor/nodeIndexonlyscan.h" #include "executor/nodeIndexscan.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/bufmgr.h" #include "storage/predicate.h" #include "utils/builtins.h" diff --git a/src/backend/executor/nodeIndexscan.c b/src/backend/executor/nodeIndexscan.c index 39f6691ee35..0d74b6c77ad 100644 --- a/src/backend/executor/nodeIndexscan.c +++ b/src/backend/executor/nodeIndexscan.c @@ -36,8 +36,8 @@ #include "executor/executor.h" #include "executor/instrument.h" #include "executor/nodeIndexscan.h" +#include "ipc/interrupt.h" #include "lib/pairingheap.h" -#include "miscadmin.h" #include "nodes/nodeFuncs.h" #include "utils/array.h" #include "utils/datum.h" diff --git a/src/backend/executor/nodeLimit.c b/src/backend/executor/nodeLimit.c index 8f75cbbead2..d99ded90e30 100644 --- a/src/backend/executor/nodeLimit.c +++ b/src/backend/executor/nodeLimit.c @@ -23,7 +23,7 @@ #include "executor/executor.h" #include "executor/nodeLimit.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" static void recompute_limits(LimitState *node); static int64 compute_tuples_needed(LimitState *node); diff --git a/src/backend/executor/nodeLockRows.c b/src/backend/executor/nodeLockRows.c index 3bee818a8b4..e1daaed25ba 100644 --- a/src/backend/executor/nodeLockRows.c +++ b/src/backend/executor/nodeLockRows.c @@ -26,7 +26,7 @@ #include "executor/executor.h" #include "executor/nodeLockRows.h" #include "foreign/fdwapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "utils/rel.h" diff --git a/src/backend/executor/nodeMaterial.c b/src/backend/executor/nodeMaterial.c index e5f387612bc..c8d975f8e06 100644 --- a/src/backend/executor/nodeMaterial.c +++ b/src/backend/executor/nodeMaterial.c @@ -23,6 +23,7 @@ #include "executor/executor.h" #include "executor/nodeMaterial.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "utils/tuplestore.h" diff --git a/src/backend/executor/nodeMemoize.c b/src/backend/executor/nodeMemoize.c index fdca97d7426..11856ce7148 100644 --- a/src/backend/executor/nodeMemoize.c +++ b/src/backend/executor/nodeMemoize.c @@ -70,6 +70,7 @@ #include "common/hashfn.h" #include "executor/executor.h" #include "executor/nodeMemoize.h" +#include "ipc/interrupt.h" #include "lib/ilist.h" #include "miscadmin.h" #include "utils/datum.h" diff --git a/src/backend/executor/nodeMergeAppend.c b/src/backend/executor/nodeMergeAppend.c index 0173074d85d..400c2012b33 100644 --- a/src/backend/executor/nodeMergeAppend.c +++ b/src/backend/executor/nodeMergeAppend.c @@ -42,8 +42,8 @@ #include "executor/executor.h" #include "executor/execPartition.h" #include "executor/nodeMergeAppend.h" +#include "ipc/interrupt.h" #include "lib/binaryheap.h" -#include "miscadmin.h" #include "utils/sortsupport.h" /* diff --git a/src/backend/executor/nodeMergejoin.c b/src/backend/executor/nodeMergejoin.c index f8421a74c75..be0f0ecc21b 100644 --- a/src/backend/executor/nodeMergejoin.c +++ b/src/backend/executor/nodeMergejoin.c @@ -96,7 +96,7 @@ #include "executor/execdebug.h" #include "executor/instrument.h" #include "executor/nodeMergejoin.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "utils/lsyscache.h" #include "utils/sortsupport.h" diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index 846dc516b43..a0227679dd8 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -63,7 +63,7 @@ #include "executor/instrument.h" #include "executor/nodeModifyTable.h" #include "foreign/fdwapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/nodeFuncs.h" #include "optimizer/optimizer.h" #include "pgstat.h" diff --git a/src/backend/executor/nodeNestloop.c b/src/backend/executor/nodeNestloop.c index 809311ab513..beac167acc8 100644 --- a/src/backend/executor/nodeNestloop.c +++ b/src/backend/executor/nodeNestloop.c @@ -24,7 +24,7 @@ #include "executor/execdebug.h" #include "executor/instrument.h" #include "executor/nodeNestloop.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" /* ---------------------------------------------------------------- diff --git a/src/backend/executor/nodeProjectSet.c b/src/backend/executor/nodeProjectSet.c index 33b5c209f5a..f6890d90eb3 100644 --- a/src/backend/executor/nodeProjectSet.c +++ b/src/backend/executor/nodeProjectSet.c @@ -24,7 +24,7 @@ #include "executor/executor.h" #include "executor/nodeProjectSet.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/nodeFuncs.h" diff --git a/src/backend/executor/nodeRecursiveunion.c b/src/backend/executor/nodeRecursiveunion.c index 7166397e59b..933db2c509d 100644 --- a/src/backend/executor/nodeRecursiveunion.c +++ b/src/backend/executor/nodeRecursiveunion.c @@ -20,6 +20,7 @@ #include "executor/executor.h" #include "executor/nodeRecursiveunion.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "utils/memutils.h" #include "utils/tuplestore.h" diff --git a/src/backend/executor/nodeResult.c b/src/backend/executor/nodeResult.c index 660561aed8d..f01f0473c8e 100644 --- a/src/backend/executor/nodeResult.c +++ b/src/backend/executor/nodeResult.c @@ -47,7 +47,7 @@ #include "executor/executor.h" #include "executor/nodeResult.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" /* ---------------------------------------------------------------- diff --git a/src/backend/executor/nodeSetOp.c b/src/backend/executor/nodeSetOp.c index 24709778384..22c862945ec 100644 --- a/src/backend/executor/nodeSetOp.c +++ b/src/backend/executor/nodeSetOp.c @@ -48,7 +48,7 @@ #include "access/htup_details.h" #include "executor/executor.h" #include "executor/nodeSetOp.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "utils/memutils.h" #include "utils/sortsupport.h" diff --git a/src/backend/executor/nodeSort.c b/src/backend/executor/nodeSort.c index e02313f7813..d91f64d2b9a 100644 --- a/src/backend/executor/nodeSort.c +++ b/src/backend/executor/nodeSort.c @@ -18,6 +18,7 @@ #include "access/parallel.h" #include "executor/execdebug.h" #include "executor/nodeSort.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "utils/tuplesort.h" diff --git a/src/backend/executor/nodeSubplan.c b/src/backend/executor/nodeSubplan.c index 8285c7101c2..a7178ee7d69 100644 --- a/src/backend/executor/nodeSubplan.c +++ b/src/backend/executor/nodeSubplan.c @@ -29,7 +29,7 @@ #include "access/htup_details.h" #include "executor/executor.h" #include "executor/nodeSubplan.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "utils/array.h" diff --git a/src/backend/executor/nodeTableFuncscan.c b/src/backend/executor/nodeTableFuncscan.c index 9394156f405..71d54eb5c04 100644 --- a/src/backend/executor/nodeTableFuncscan.c +++ b/src/backend/executor/nodeTableFuncscan.c @@ -25,6 +25,7 @@ #include "executor/executor.h" #include "executor/nodeTableFuncscan.h" #include "executor/tablefunc.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/execnodes.h" #include "utils/builtins.h" diff --git a/src/backend/executor/nodeTidscan.c b/src/backend/executor/nodeTidscan.c index 6641df10999..ba162ff7306 100644 --- a/src/backend/executor/nodeTidscan.c +++ b/src/backend/executor/nodeTidscan.c @@ -27,8 +27,8 @@ #include "catalog/pg_type.h" #include "executor/executor.h" #include "executor/nodeTidscan.h" +#include "ipc/interrupt.h" #include "lib/qunique.h" -#include "miscadmin.h" #include "nodes/nodeFuncs.h" #include "utils/array.h" #include "utils/rel.h" diff --git a/src/backend/executor/nodeUnique.c b/src/backend/executor/nodeUnique.c index 0898d4e693b..c03812862c5 100644 --- a/src/backend/executor/nodeUnique.c +++ b/src/backend/executor/nodeUnique.c @@ -35,7 +35,7 @@ #include "executor/executor.h" #include "executor/nodeUnique.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" /* ---------------------------------------------------------------- diff --git a/src/backend/executor/nodeWindowAgg.c b/src/backend/executor/nodeWindowAgg.c index f1c524d00df..d100b3af217 100644 --- a/src/backend/executor/nodeWindowAgg.c +++ b/src/backend/executor/nodeWindowAgg.c @@ -41,6 +41,7 @@ #include "executor/executor.h" #include "executor/instrument.h" #include "executor/nodeWindowAgg.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/nodeFuncs.h" #include "optimizer/clauses.h" diff --git a/src/backend/lib/bipartite_match.c b/src/backend/lib/bipartite_match.c index 12520dc91b4..5bfd4d4fc46 100644 --- a/src/backend/lib/bipartite_match.c +++ b/src/backend/lib/bipartite_match.c @@ -18,6 +18,7 @@ #include +#include "ipc/interrupt.h" #include "lib/bipartite_match.h" #include "miscadmin.h" diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c index 2af5615e54a..d7bd3269d69 100644 --- a/src/backend/libpq/auth.c +++ b/src/backend/libpq/auth.c @@ -26,6 +26,7 @@ #include "commands/user.h" #include "common/ip.h" #include "common/md5.h" +#include "ipc/interrupt.h" #include "libpq/auth.h" #include "libpq/crypt.h" #include "libpq/libpq.h" @@ -33,7 +34,6 @@ #include "libpq/pqformat.h" #include "libpq/sasl.h" #include "libpq/scram.h" -#include "miscadmin.h" #include "port/pg_bswap.h" #include "postmaster/postmaster.h" #include "replication/walsender.h" diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index 4a442f22df6..34ec18813b4 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -73,8 +73,8 @@ #endif #include "common/ip.h" +#include "ipc/interrupt.h" #include "libpq/libpq.h" -#include "miscadmin.h" #include "port/pg_bswap.h" #include "postmaster/postmaster.h" #include "storage/ipc.h" diff --git a/src/backend/libpq/pqmq.c b/src/backend/libpq/pqmq.c index 238fb73ebd8..c11433968c8 100644 --- a/src/backend/libpq/pqmq.c +++ b/src/backend/libpq/pqmq.c @@ -15,10 +15,10 @@ #include "access/parallel.h" #include "commands/repack.h" +#include "ipc/interrupt.h" #include "libpq/libpq.h" #include "libpq/pqformat.h" #include "libpq/pqmq.h" -#include "miscadmin.h" #include "pgstat.h" #include "replication/logicalworker.h" #include "storage/latch.h" diff --git a/src/backend/optimizer/prep/prepjointree.c b/src/backend/optimizer/prep/prepjointree.c index 4424fdbe906..8e582d0fec0 100644 --- a/src/backend/optimizer/prep/prepjointree.c +++ b/src/backend/optimizer/prep/prepjointree.c @@ -29,6 +29,7 @@ #include "access/table.h" #include "catalog/pg_type.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/makefuncs.h" #include "nodes/multibitmapset.h" diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c index 73518c8f870..f5ea9102e2d 100644 --- a/src/backend/optimizer/util/pathnode.c +++ b/src/backend/optimizer/util/pathnode.c @@ -17,6 +17,7 @@ #include "access/htup_details.h" #include "executor/nodeSetOp.h" #include "foreign/fdwapi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/extensible.h" #include "optimizer/appendinfo.h" diff --git a/src/backend/optimizer/util/predtest.c b/src/backend/optimizer/util/predtest.c index 690a23d619a..489a233e81a 100644 --- a/src/backend/optimizer/util/predtest.c +++ b/src/backend/optimizer/util/predtest.c @@ -19,7 +19,7 @@ #include "catalog/pg_proc.h" #include "catalog/pg_type.h" #include "executor/executor.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "nodes/pathnodes.h" diff --git a/src/backend/partitioning/partbounds.c b/src/backend/partitioning/partbounds.c index 6fb150a8763..db7fac10075 100644 --- a/src/backend/partitioning/partbounds.c +++ b/src/backend/partitioning/partbounds.c @@ -24,7 +24,7 @@ #include "commands/tablecmds.h" #include "common/hashfn.h" #include "executor/executor.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "nodes/pathnodes.h" diff --git a/src/backend/port/win32_sema.c b/src/backend/port/win32_sema.c index a3202554769..59fd4469faf 100644 --- a/src/backend/port/win32_sema.c +++ b/src/backend/port/win32_sema.c @@ -13,6 +13,7 @@ #include "postgres.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/ipc.h" #include "storage/pg_sema.h" diff --git a/src/backend/postmaster/auxprocess.c b/src/backend/postmaster/auxprocess.c index ad4bf4bd2a8..ab2af862d69 100644 --- a/src/backend/postmaster/auxprocess.c +++ b/src/backend/postmaster/auxprocess.c @@ -16,7 +16,7 @@ #include #include "access/xlog.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "postmaster/auxprocess.h" #include "storage/condition_variable.h" diff --git a/src/backend/postmaster/bgwriter.c b/src/backend/postmaster/bgwriter.c index d6121f2b4fe..6b7312b75d9 100644 --- a/src/backend/postmaster/bgwriter.c +++ b/src/backend/postmaster/bgwriter.c @@ -32,8 +32,8 @@ #include "postgres.h" #include "access/xlog.h" +#include "ipc/interrupt.h" #include "libpq/pqsignal.h" -#include "miscadmin.h" #include "pgstat.h" #include "postmaster/auxprocess.h" #include "postmaster/bgwriter.h" diff --git a/src/backend/postmaster/checkpointer.c b/src/backend/postmaster/checkpointer.c index 4b051eb3128..bd73888747b 100644 --- a/src/backend/postmaster/checkpointer.c +++ b/src/backend/postmaster/checkpointer.c @@ -44,8 +44,8 @@ #include "access/xlogrecovery.h" #include "catalog/pg_authid.h" #include "commands/defrem.h" +#include "ipc/interrupt.h" #include "libpq/pqsignal.h" -#include "miscadmin.h" #include "pgstat.h" #include "port/atomics.h" #include "postmaster/auxprocess.h" diff --git a/src/backend/postmaster/datachecksum_state.c b/src/backend/postmaster/datachecksum_state.c index 47b87f51ad9..03717a8b008 100644 --- a/src/backend/postmaster/datachecksum_state.c +++ b/src/backend/postmaster/datachecksum_state.c @@ -198,7 +198,7 @@ #include "commands/progress.h" #include "commands/vacuum.h" #include "common/relpath.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "postmaster/bgworker.h" #include "postmaster/bgwriter.h" diff --git a/src/backend/postmaster/interrupt.c b/src/backend/postmaster/interrupt.c index a2c0ff012c5..20f7e34e204 100644 --- a/src/backend/postmaster/interrupt.c +++ b/src/backend/postmaster/interrupt.c @@ -16,6 +16,7 @@ #include +#include "ipc/interrupt.h" #include "miscadmin.h" #include "postmaster/interrupt.h" #include "storage/ipc.h" diff --git a/src/backend/postmaster/pgarch.c b/src/backend/postmaster/pgarch.c index a3fd4f83201..8098e29ff65 100644 --- a/src/backend/postmaster/pgarch.c +++ b/src/backend/postmaster/pgarch.c @@ -33,6 +33,7 @@ #include "access/xlog_internal.h" #include "archive/archive_module.h" #include "archive/shell_archive.h" +#include "ipc/interrupt.h" #include "lib/binaryheap.h" #include "libpq/pqsignal.h" #include "pgstat.h" diff --git a/src/backend/postmaster/startup.c b/src/backend/postmaster/startup.c index 63624e8caa1..e7db3b3e6e1 100644 --- a/src/backend/postmaster/startup.c +++ b/src/backend/postmaster/startup.c @@ -23,6 +23,7 @@ #include "access/xlogrecovery.h" #include "access/xlogutils.h" #include "libpq/pqsignal.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "postmaster/auxprocess.h" #include "postmaster/startup.h" diff --git a/src/backend/postmaster/walsummarizer.c b/src/backend/postmaster/walsummarizer.c index 89301815dc3..ea6afab8d69 100644 --- a/src/backend/postmaster/walsummarizer.c +++ b/src/backend/postmaster/walsummarizer.c @@ -32,8 +32,8 @@ #include "catalog/storage_xlog.h" #include "commands/dbcommands_xlog.h" #include "common/blkreftable.h" +#include "ipc/interrupt.h" #include "libpq/pqsignal.h" -#include "miscadmin.h" #include "pgstat.h" #include "postmaster/auxprocess.h" #include "postmaster/interrupt.h" diff --git a/src/backend/postmaster/walwriter.c b/src/backend/postmaster/walwriter.c index 3493be8e630..d32297fc259 100644 --- a/src/backend/postmaster/walwriter.c +++ b/src/backend/postmaster/walwriter.c @@ -46,7 +46,7 @@ #include "access/xlog.h" #include "libpq/pqsignal.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "postmaster/auxprocess.h" #include "postmaster/interrupt.h" diff --git a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c index 5376519fea5..16724036ffe 100644 --- a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c +++ b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c @@ -27,15 +27,14 @@ #include "libpq-fe.h" #include "libpq/libpq-be-fe-helpers.h" #include "mb/pg_wchar.h" -#include "miscadmin.h" #include "pgstat.h" #include "pqexpbuffer.h" #include "replication/walreceiver.h" -#include "storage/latch.h" #include "utils/builtins.h" #include "utils/memutils.h" #include "utils/pg_lsn.h" #include "utils/tuplestore.h" +#include "utils/wait_event.h" PG_MODULE_MAGIC_EXT( .name = "libpqwalreceiver", diff --git a/src/backend/replication/logical/applyparallelworker.c b/src/backend/replication/logical/applyparallelworker.c index 9535abef122..6e5f3ab123f 100644 --- a/src/backend/replication/logical/applyparallelworker.c +++ b/src/backend/replication/logical/applyparallelworker.c @@ -157,6 +157,7 @@ #include "postgres.h" +#include "ipc/interrupt.h" #include "libpq/pqformat.h" #include "libpq/pqmq.h" #include "pgstat.h" diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c index 313e31ff2e3..920c5a3de99 100644 --- a/src/backend/replication/logical/launcher.c +++ b/src/backend/replication/logical/launcher.c @@ -25,8 +25,8 @@ #include "catalog/pg_subscription.h" #include "catalog/pg_subscription_rel.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "lib/dshash.h" -#include "miscadmin.h" #include "pgstat.h" #include "postmaster/bgworker.h" #include "postmaster/interrupt.h" diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c index 3541fc793e4..ef7e7e9a8c8 100644 --- a/src/backend/replication/logical/logical.c +++ b/src/backend/replication/logical/logical.c @@ -32,7 +32,7 @@ #include "access/xlog_internal.h" #include "access/xlogutils.h" #include "fmgr.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "replication/decode.h" #include "replication/logical.h" diff --git a/src/backend/replication/logical/logicalctl.c b/src/backend/replication/logical/logicalctl.c index c11d1316450..b92e48ee3d6 100644 --- a/src/backend/replication/logical/logicalctl.c +++ b/src/backend/replication/logical/logicalctl.c @@ -65,7 +65,7 @@ #include "access/xloginsert.h" #include "catalog/pg_control.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "replication/slot.h" #include "storage/ipc.h" #include "storage/lmgr.h" diff --git a/src/backend/replication/logical/logicalfuncs.c b/src/backend/replication/logical/logicalfuncs.c index 71fbaf72269..a4cbf6e6cbf 100644 --- a/src/backend/replication/logical/logicalfuncs.c +++ b/src/backend/replication/logical/logicalfuncs.c @@ -22,8 +22,8 @@ #include "catalog/pg_type.h" #include "fmgr.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" -#include "miscadmin.h" #include "nodes/makefuncs.h" #include "replication/decode.h" #include "replication/logical.h" diff --git a/src/backend/replication/logical/origin.c b/src/backend/replication/logical/origin.c index c9dfb094c2b..365f8757051 100644 --- a/src/backend/replication/logical/origin.c +++ b/src/backend/replication/logical/origin.c @@ -79,7 +79,7 @@ #include "catalog/indexing.h" #include "catalog/pg_subscription.h" #include "funcapi.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/execnodes.h" #include "pgstat.h" #include "replication/origin.h" diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c index 059ed860314..8e5adbd2c4e 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -97,8 +97,8 @@ #include "access/xlog_internal.h" #include "catalog/catalog.h" #include "common/int.h" +#include "ipc/interrupt.h" #include "lib/binaryheap.h" -#include "miscadmin.h" #include "pgstat.h" #include "replication/logical.h" #include "replication/reorderbuffer.h" diff --git a/src/backend/replication/logical/sequencesync.c b/src/backend/replication/logical/sequencesync.c index f47f962c7db..1cfd9a36b34 100644 --- a/src/backend/replication/logical/sequencesync.c +++ b/src/backend/replication/logical/sequencesync.c @@ -56,6 +56,7 @@ #include "catalog/pg_sequence.h" #include "catalog/pg_subscription_rel.h" #include "commands/sequence.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "postmaster/interrupt.h" #include "replication/logicalworker.h" diff --git a/src/backend/replication/logical/slotsync.c b/src/backend/replication/logical/slotsync.c index 7d2999d77fd..489c115f45f 100644 --- a/src/backend/replication/logical/slotsync.c +++ b/src/backend/replication/logical/slotsync.c @@ -63,6 +63,7 @@ #include "access/xlog_internal.h" #include "access/xlogrecovery.h" #include "catalog/pg_database.h" +#include "ipc/interrupt.h" #include "libpq/pqsignal.h" #include "pgstat.h" #include "postmaster/interrupt.h" diff --git a/src/backend/replication/logical/tablesync.c b/src/backend/replication/logical/tablesync.c index a04b84ebc1d..d6311266fe5 100644 --- a/src/backend/replication/logical/tablesync.c +++ b/src/backend/replication/logical/tablesync.c @@ -100,7 +100,7 @@ #include "catalog/pg_subscription_rel.h" #include "catalog/pg_type.h" #include "commands/copy.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/makefuncs.h" #include "parser/parse_relation.h" #include "pgstat.h" diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index d7fb9f5a67f..010657fb400 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -44,7 +44,7 @@ #include "access/xlogrecovery.h" #include "common/file_utils.h" #include "common/string.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "postmaster/interrupt.h" #include "replication/logicallauncher.h" diff --git a/src/backend/replication/syncrep.c b/src/backend/replication/syncrep.c index e0e30579c59..3f1da4dbe4e 100644 --- a/src/backend/replication/syncrep.c +++ b/src/backend/replication/syncrep.c @@ -76,7 +76,7 @@ #include "access/xact.h" #include "common/int.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "replication/syncrep.h" #include "replication/walsender.h" diff --git a/src/backend/replication/walreceiver.c b/src/backend/replication/walreceiver.c index 4319cb6fd43..d7804a73454 100644 --- a/src/backend/replication/walreceiver.c +++ b/src/backend/replication/walreceiver.c @@ -60,9 +60,9 @@ #include "access/xlogwait.h" #include "catalog/pg_authid.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "libpq/pqformat.h" #include "libpq/pqsignal.h" -#include "miscadmin.h" #include "pgstat.h" #include "postmaster/auxprocess.h" #include "postmaster/interrupt.h" diff --git a/src/backend/storage/aio/aio.c b/src/backend/storage/aio/aio.c index 8f7e26607b9..1d4073ed0da 100644 --- a/src/backend/storage/aio/aio.c +++ b/src/backend/storage/aio/aio.c @@ -38,6 +38,7 @@ #include "postgres.h" +#include "ipc/interrupt.h" #include "lib/ilist.h" #include "miscadmin.h" #include "port/atomics.h" diff --git a/src/backend/storage/aio/aio_callback.c b/src/backend/storage/aio/aio_callback.c index 206b81f5028..fcd6c916af0 100644 --- a/src/backend/storage/aio/aio_callback.c +++ b/src/backend/storage/aio/aio_callback.c @@ -15,7 +15,7 @@ #include "postgres.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/aio.h" #include "storage/aio_internal.h" #include "storage/bufmgr.h" diff --git a/src/backend/storage/aio/aio_io.c b/src/backend/storage/aio/aio_io.c index 72b4c9feb3a..da7ed6ca53c 100644 --- a/src/backend/storage/aio/aio_io.c +++ b/src/backend/storage/aio/aio_io.c @@ -18,7 +18,7 @@ #include "postgres.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/aio.h" #include "storage/aio_internal.h" #include "storage/fd.h" diff --git a/src/backend/storage/aio/method_io_uring.c b/src/backend/storage/aio/method_io_uring.c index c0f9fc9c303..e2a2d85589b 100644 --- a/src/backend/storage/aio/method_io_uring.c +++ b/src/backend/storage/aio/method_io_uring.c @@ -34,7 +34,7 @@ #include -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/aio_internal.h" #include "storage/fd.h" #include "storage/proc.h" diff --git a/src/backend/storage/aio/method_worker.c b/src/backend/storage/aio/method_worker.c index 63e34d66690..abffeefc2c1 100644 --- a/src/backend/storage/aio/method_worker.c +++ b/src/backend/storage/aio/method_worker.c @@ -30,8 +30,8 @@ #include +#include "ipc/interrupt.h" #include "libpq/pqsignal.h" -#include "miscadmin.h" #include "port/pg_bitutils.h" #include "postmaster/auxprocess.h" #include "postmaster/interrupt.h" diff --git a/src/backend/storage/file/buffile.c b/src/backend/storage/file/buffile.c index c4afe4d368a..44798943ead 100644 --- a/src/backend/storage/file/buffile.c +++ b/src/backend/storage/file/buffile.c @@ -47,7 +47,7 @@ #include "commands/tablespace.h" #include "executor/instrument.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/buffile.h" #include "storage/bufmgr.h" diff --git a/src/backend/storage/file/copydir.c b/src/backend/storage/file/copydir.c index 5ee141f13a5..36118d74f1b 100644 --- a/src/backend/storage/file/copydir.c +++ b/src/backend/storage/file/copydir.c @@ -25,7 +25,7 @@ #include #include "common/file_utils.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/copydir.h" #include "storage/fd.h" diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c index 4cf4717f764..7b4cb9a126c 100644 --- a/src/backend/storage/file/fd.c +++ b/src/backend/storage/file/fd.c @@ -91,7 +91,7 @@ #include "common/file_perm.h" #include "common/file_utils.h" #include "common/pg_prng.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "postmaster/startup.h" #include "storage/aio.h" diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c index 006edab9d77..23ee27578dc 100644 --- a/src/backend/storage/freespace/freespace.c +++ b/src/backend/storage/freespace/freespace.c @@ -26,7 +26,7 @@ #include "access/htup_details.h" #include "access/xloginsert.h" #include "access/xlogutils.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/freespace.h" #include "storage/fsm_internals.h" #include "storage/smgr.h" diff --git a/src/backend/storage/ipc/dsm.c b/src/backend/storage/ipc/dsm.c index 8b69df4ff26..6cf45cfac8c 100644 --- a/src/backend/storage/ipc/dsm.c +++ b/src/backend/storage/ipc/dsm.c @@ -34,6 +34,7 @@ #include #include "common/pg_prng.h" +#include "ipc/interrupt.h" #include "lib/ilist.h" #include "miscadmin.h" #include "port/pg_bitutils.h" diff --git a/src/backend/storage/ipc/ipc.c b/src/backend/storage/ipc/ipc.c index cb944edd8df..651e9c23e16 100644 --- a/src/backend/storage/ipc/ipc.c +++ b/src/backend/storage/ipc/ipc.c @@ -23,6 +23,7 @@ #include #include +#include "ipc/interrupt.h" #include "miscadmin.h" #ifdef PROFILE_PID_DIR #include "postmaster/autovacuum.h" diff --git a/src/backend/storage/ipc/procsignal.c b/src/backend/storage/ipc/procsignal.c index 00b640f2d53..737ad81363c 100644 --- a/src/backend/storage/ipc/procsignal.c +++ b/src/backend/storage/ipc/procsignal.c @@ -20,7 +20,7 @@ #include "access/parallel.h" #include "commands/async.h" #include "commands/repack.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "port/pg_bitutils.h" #include "postmaster/datachecksum_state.h" diff --git a/src/backend/storage/ipc/shm_mq.c b/src/backend/storage/ipc/shm_mq.c index 26b24158ed9..ef0195f9cfa 100644 --- a/src/backend/storage/ipc/shm_mq.c +++ b/src/backend/storage/ipc/shm_mq.c @@ -18,7 +18,7 @@ #include "postgres.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "port/pg_bitutils.h" #include "postmaster/bgworker.h" diff --git a/src/backend/storage/ipc/shmem.c b/src/backend/storage/ipc/shmem.c index f1f7cd3a4ff..cb4e4111cfa 100644 --- a/src/backend/storage/ipc/shmem.c +++ b/src/backend/storage/ipc/shmem.c @@ -133,6 +133,7 @@ #include "access/slru.h" #include "fmgr.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "port/pg_bitutils.h" #include "port/pg_numa.h" diff --git a/src/backend/storage/ipc/signalfuncs.c b/src/backend/storage/ipc/signalfuncs.c index 800b699de21..84e44b398b2 100644 --- a/src/backend/storage/ipc/signalfuncs.c +++ b/src/backend/storage/ipc/signalfuncs.c @@ -17,7 +17,7 @@ #include #include "catalog/pg_authid.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "postmaster/syslogger.h" #include "storage/pmsignal.h" diff --git a/src/backend/storage/ipc/standby.c b/src/backend/storage/ipc/standby.c index 7f011e04990..e58ac4c4363 100644 --- a/src/backend/storage/ipc/standby.c +++ b/src/backend/storage/ipc/standby.c @@ -22,7 +22,7 @@ #include "access/xloginsert.h" #include "access/xlogrecovery.h" #include "access/xlogutils.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "replication/slot.h" #include "storage/bufmgr.h" diff --git a/src/backend/storage/lmgr/condition_variable.c b/src/backend/storage/lmgr/condition_variable.c index 1f16b3f7475..3a62a447aca 100644 --- a/src/backend/storage/lmgr/condition_variable.c +++ b/src/backend/storage/lmgr/condition_variable.c @@ -20,7 +20,7 @@ #include -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "portability/instr_time.h" #include "storage/condition_variable.h" #include "storage/proc.h" diff --git a/src/backend/storage/lmgr/lmgr.c b/src/backend/storage/lmgr/lmgr.c index 2ccf7237fee..3b5c820cc81 100644 --- a/src/backend/storage/lmgr/lmgr.c +++ b/src/backend/storage/lmgr/lmgr.c @@ -19,7 +19,7 @@ #include "access/xact.h" #include "catalog/catalog.h" #include "commands/progress.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/lmgr.h" #include "storage/proc.h" diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c index 8d246ed5a4e..5a017f28f60 100644 --- a/src/backend/storage/lmgr/lock.c +++ b/src/backend/storage/lmgr/lock.c @@ -37,7 +37,7 @@ #include "access/twophase_rmgr.h" #include "access/xlog.h" #include "access/xlogutils.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pg_trace.h" #include "pgstat.h" #include "storage/lmgr.h" diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c index b1ad396ba79..03c16f7d26d 100644 --- a/src/backend/storage/lmgr/lwlock.c +++ b/src/backend/storage/lmgr/lwlock.c @@ -76,7 +76,7 @@ */ #include "postgres.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pg_trace.h" #include "pgstat.h" #include "port/pg_bitutils.h" diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c index 28c0efc3e20..d9b0d8f62ce 100644 --- a/src/backend/storage/lmgr/proc.c +++ b/src/backend/storage/lmgr/proc.c @@ -38,7 +38,7 @@ #include "access/twophase.h" #include "access/xlogutils.h" #include "access/xlogwait.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "postmaster/autovacuum.h" #include "replication/slotsync.h" diff --git a/src/backend/storage/page/bufpage.c b/src/backend/storage/page/bufpage.c index 1fdfda59edd..6afb3f84513 100644 --- a/src/backend/storage/page/bufpage.c +++ b/src/backend/storage/page/bufpage.c @@ -17,6 +17,7 @@ #include "access/htup_details.h" #include "access/itup.h" #include "access/xlog.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/checksum.h" #include "utils/memdebug.h" diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c index 5391640d861..a9b6c1ede6c 100644 --- a/src/backend/storage/smgr/smgr.c +++ b/src/backend/storage/smgr/smgr.c @@ -64,8 +64,8 @@ #include "postgres.h" #include "access/xlogutils.h" +#include "ipc/interrupt.h" #include "lib/ilist.h" -#include "miscadmin.h" #include "storage/aio.h" #include "storage/bufmgr.h" #include "storage/ipc.h" diff --git a/src/backend/tcop/fastpath.c b/src/backend/tcop/fastpath.c index 52772bc90a8..fd676ea27a2 100644 --- a/src/backend/tcop/fastpath.c +++ b/src/backend/tcop/fastpath.c @@ -22,6 +22,7 @@ #include "catalog/objectaccess.h" #include "catalog/pg_namespace.h" #include "catalog/pg_proc.h" +#include "ipc/interrupt.h" #include "libpq/pqformat.h" #include "libpq/protocol.h" #include "mb/pg_wchar.h" diff --git a/src/backend/tcop/pquery.c b/src/backend/tcop/pquery.c index ee731000820..335e2d8998c 100644 --- a/src/backend/tcop/pquery.c +++ b/src/backend/tcop/pquery.c @@ -21,7 +21,7 @@ #include "commands/prepare.h" #include "executor/executor.h" #include "executor/tstoreReceiver.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pg_trace.h" #include "tcop/pquery.h" #include "tcop/utility.h" diff --git a/src/backend/tsearch/wparser_def.c b/src/backend/tsearch/wparser_def.c index 480915030df..05afde2052c 100644 --- a/src/backend/tsearch/wparser_def.c +++ b/src/backend/tsearch/wparser_def.c @@ -18,6 +18,7 @@ #include #include "commands/defrem.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "tsearch/ts_public.h" diff --git a/src/backend/utils/adt/dbsize.c b/src/backend/utils/adt/dbsize.c index cccc4a24c84..d629aa2a4ca 100644 --- a/src/backend/utils/adt/dbsize.c +++ b/src/backend/utils/adt/dbsize.c @@ -20,6 +20,7 @@ #include "catalog/pg_database.h" #include "catalog/pg_tablespace.h" #include "commands/tablespace.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/fd.h" #include "utils/acl.h" diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c index 73324b91fe5..92114264518 100644 --- a/src/backend/utils/adt/geo_ops.c +++ b/src/backend/utils/adt/geo_ops.c @@ -29,6 +29,7 @@ #include #include +#include "ipc/interrupt.h" #include "libpq/pqformat.h" #include "miscadmin.h" #include "nodes/miscnodes.h" diff --git a/src/backend/utils/adt/jsonpath.c b/src/backend/utils/adt/jsonpath.c index 7bfc18c9888..29660501674 100644 --- a/src/backend/utils/adt/jsonpath.c +++ b/src/backend/utils/adt/jsonpath.c @@ -64,6 +64,7 @@ #include "postgres.h" #include "catalog/pg_type.h" +#include "ipc/interrupt.h" #include "lib/stringinfo.h" #include "libpq/pqformat.h" #include "miscadmin.h" diff --git a/src/backend/utils/adt/jsonpath_exec.c b/src/backend/utils/adt/jsonpath_exec.c index 6cc2acb4254..d0d78aee783 100644 --- a/src/backend/utils/adt/jsonpath_exec.c +++ b/src/backend/utils/adt/jsonpath_exec.c @@ -62,6 +62,7 @@ #include "catalog/pg_collation.h" #include "catalog/pg_type.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/miscnodes.h" #include "nodes/nodeFuncs.h" diff --git a/src/backend/utils/adt/jsonpath_gram.y b/src/backend/utils/adt/jsonpath_gram.y index f826697d098..afeac407158 100644 --- a/src/backend/utils/adt/jsonpath_gram.y +++ b/src/backend/utils/adt/jsonpath_gram.y @@ -18,8 +18,8 @@ #include "catalog/pg_collation.h" #include "fmgr.h" +#include "ipc/interrupt.h" #include "jsonpath_internal.h" -#include "miscadmin.h" #include "nodes/pg_list.h" #include "regex/regex.h" #include "utils/builtins.h" diff --git a/src/backend/utils/adt/like.c b/src/backend/utils/adt/like.c index 350bc07f210..f4b23ef641b 100644 --- a/src/backend/utils/adt/like.c +++ b/src/backend/utils/adt/like.c @@ -20,6 +20,7 @@ #include #include "catalog/pg_collation.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "utils/fmgrprotos.h" diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c index cb23dfe9b95..81e8e94efd4 100644 --- a/src/backend/utils/adt/numeric.c +++ b/src/backend/utils/adt/numeric.c @@ -30,9 +30,9 @@ #include "common/int.h" #include "common/int128.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "lib/hyperloglog.h" #include "libpq/pqformat.h" -#include "miscadmin.h" #include "nodes/nodeFuncs.h" #include "nodes/supportnodes.h" #include "optimizer/optimizer.h" diff --git a/src/backend/utils/adt/oracle_compat.c b/src/backend/utils/adt/oracle_compat.c index 5b0d098bd07..63adbfd410a 100644 --- a/src/backend/utils/adt/oracle_compat.c +++ b/src/backend/utils/adt/oracle_compat.c @@ -16,8 +16,8 @@ #include "postgres.h" #include "common/int.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" -#include "miscadmin.h" #include "utils/builtins.h" #include "utils/formatting.h" #include "utils/memutils.h" diff --git a/src/backend/utils/adt/orderedsetaggs.c b/src/backend/utils/adt/orderedsetaggs.c index fd8b8676470..91570e81029 100644 --- a/src/backend/utils/adt/orderedsetaggs.c +++ b/src/backend/utils/adt/orderedsetaggs.c @@ -20,6 +20,7 @@ #include "catalog/pg_operator.h" #include "catalog/pg_type.h" #include "executor/executor.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "nodes/nodeFuncs.h" #include "optimizer/optimizer.h" diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 88de5c0481c..2b9fa67a52c 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -47,6 +47,7 @@ #include "common/keywords.h" #include "executor/spi.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "nodes/makefuncs.h" diff --git a/src/backend/utils/adt/tsquery_rewrite.c b/src/backend/utils/adt/tsquery_rewrite.c index aace2a4c7d6..95131f55fa2 100644 --- a/src/backend/utils/adt/tsquery_rewrite.c +++ b/src/backend/utils/adt/tsquery_rewrite.c @@ -16,6 +16,7 @@ #include "catalog/pg_type.h" #include "executor/spi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "tsearch/ts_utils.h" #include "utils/builtins.h" diff --git a/src/backend/utils/adt/tsvector_op.c b/src/backend/utils/adt/tsvector_op.c index 53a9541e89f..9c689a40cdf 100644 --- a/src/backend/utils/adt/tsvector_op.c +++ b/src/backend/utils/adt/tsvector_op.c @@ -22,6 +22,7 @@ #include "common/int.h" #include "executor/spi.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "lib/qunique.h" #include "mb/pg_wchar.h" #include "miscadmin.h" diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c index 0c6d3ba4d22..cd774264d86 100644 --- a/src/backend/utils/adt/varlena.c +++ b/src/backend/utils/adt/varlena.c @@ -28,9 +28,9 @@ #include "common/unicode_norm.h" #include "common/unicode_version.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "lib/hyperloglog.h" #include "libpq/pqformat.h" -#include "miscadmin.h" #include "nodes/execnodes.h" #include "parser/scansup.h" #include "port/pg_bswap.h" diff --git a/src/backend/utils/cache/inval.c b/src/backend/utils/cache/inval.c index 63dc36d4d91..f3cd242ce70 100644 --- a/src/backend/utils/cache/inval.c +++ b/src/backend/utils/cache/inval.c @@ -119,6 +119,7 @@ #include "access/xloginsert.h" #include "catalog/catalog.h" #include "catalog/pg_constraint.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/procnumber.h" #include "storage/sinval.h" diff --git a/src/backend/utils/init/globals.c b/src/backend/utils/init/globals.c index bbd28d14d99..b41dd0a6928 100644 --- a/src/backend/utils/init/globals.c +++ b/src/backend/utils/init/globals.c @@ -19,6 +19,7 @@ #include "postgres.h" #include "common/file_perm.h" +#include "ipc/interrupt.h" #include "libpq/libpq-be.h" #include "libpq/pqcomm.h" #include "miscadmin.h" diff --git a/src/backend/utils/misc/timeout.c b/src/backend/utils/misc/timeout.c index ddba5dc607c..ed54447d4a0 100644 --- a/src/backend/utils/misc/timeout.c +++ b/src/backend/utils/misc/timeout.c @@ -16,6 +16,7 @@ #include +#include "ipc/interrupt.h" #include "miscadmin.h" #include "storage/latch.h" #include "utils/timeout.h" diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c index 930fc457328..27b339a649e 100644 --- a/src/backend/utils/mmgr/mcxt.c +++ b/src/backend/utils/mmgr/mcxt.c @@ -39,6 +39,7 @@ #include "postgres.h" #include "common/int.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "utils/memdebug.h" diff --git a/src/backend/utils/sort/qsort_interruptible.c b/src/backend/utils/sort/qsort_interruptible.c index f179b256248..fd23e7312d3 100644 --- a/src/backend/utils/sort/qsort_interruptible.c +++ b/src/backend/utils/sort/qsort_interruptible.c @@ -3,7 +3,7 @@ */ #include "postgres.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #define ST_SORT qsort_interruptible #define ST_ELEMENT_TYPE_VOID diff --git a/src/backend/utils/sort/tuplesort.c b/src/backend/utils/sort/tuplesort.c index c0e7527b9ca..0ceb3153c1e 100644 --- a/src/backend/utils/sort/tuplesort.c +++ b/src/backend/utils/sort/tuplesort.c @@ -102,7 +102,7 @@ #include #include "commands/tablespace.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pg_trace.h" #include "port/pg_bitutils.h" #include "storage/shmem.h" diff --git a/src/backend/utils/sort/tuplestore.c b/src/backend/utils/sort/tuplestore.c index f9e2d95186a..50005c7f550 100644 --- a/src/backend/utils/sort/tuplestore.c +++ b/src/backend/utils/sort/tuplestore.c @@ -59,7 +59,7 @@ #include "access/htup_details.h" #include "commands/tablespace.h" #include "executor/executor.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/buffile.h" #include "utils/memutils.h" #include "utils/resowner.h" diff --git a/src/backend/utils/time/combocid.c b/src/backend/utils/time/combocid.c index 614b7c1006b..93d52c07836 100644 --- a/src/backend/utils/time/combocid.c +++ b/src/backend/utils/time/combocid.c @@ -43,7 +43,7 @@ #include "access/htup_details.h" #include "access/xact.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/shmem.h" #include "utils/combocid.h" #include "utils/hsearch.h" diff --git a/src/common/scram-common.c b/src/common/scram-common.c index 259fa5554b6..00b92a7fea1 100644 --- a/src/common/scram-common.c +++ b/src/common/scram-common.c @@ -23,7 +23,7 @@ #include "common/hmac.h" #include "common/scram-common.h" #ifndef FRONTEND -#include "miscadmin.h" +#include "ipc/interrupt.h" #endif #include "port/pg_bswap.h" diff --git a/src/include/executor/execScan.h b/src/include/executor/execScan.h index 18b03235c3c..805a367b5fd 100644 --- a/src/include/executor/execScan.h +++ b/src/include/executor/execScan.h @@ -13,9 +13,9 @@ #ifndef EXECSCAN_H #define EXECSCAN_H -#include "miscadmin.h" #include "executor/executor.h" #include "executor/instrument.h" +#include "ipc/interrupt.h" #include "nodes/execnodes.h" /* diff --git a/src/include/ipc/interrupt.h b/src/include/ipc/interrupt.h new file mode 100644 index 00000000000..b409ee18ddb --- /dev/null +++ b/src/include/ipc/interrupt.h @@ -0,0 +1,192 @@ +/*------------------------------------------------------------------------- + * + * interrupt.h + * Inter-process interrupts + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * src/include/ipc/interrupt.h + * + *------------------------------------------------------------------------- + */ + +#ifndef IPC_INTERRUPT_H +#define IPC_INTERRUPT_H + +#include + +#include "port/atomics.h" +#include "storage/procnumber.h" + +/* + * Include waiteventset.h for the WL_* flags. They're not needed her, but are + * needed which are needed by all callers of WaitInterrupt, so include it + * here. + * + * Note: InterruptMask is defined in waiteventset.h to avoid circular dependency + */ +#include "storage/waiteventset.h" + +/***************************************************************************** + * System interrupt and critical section handling + * + * There are two types of interrupts that a running backend needs to accept + * without messing up its state: QueryCancel (SIGINT) and ProcDie (SIGTERM). + * In both cases, we need to be able to clean up the current transaction + * gracefully, so we can't respond to the interrupt instantaneously --- + * there's no guarantee that internal data structures would be self-consistent + * if the code is interrupted at an arbitrary instant. Instead, the signal + * handlers set flags that are checked periodically during execution. + * + * The CHECK_FOR_INTERRUPTS() macro is called at strategically located spots + * where it is normally safe to accept a cancel or die interrupt. In some + * cases, we invoke CHECK_FOR_INTERRUPTS() inside low-level subroutines that + * might sometimes be called in contexts that do *not* want to allow a cancel + * or die interrupt. The HOLD_INTERRUPTS() and RESUME_INTERRUPTS() macros + * allow code to ensure that no cancel or die interrupt will be accepted, + * even if CHECK_FOR_INTERRUPTS() gets called in a subroutine. The interrupt + * will be held off until CHECK_FOR_INTERRUPTS() is done outside any + * HOLD_INTERRUPTS() ... RESUME_INTERRUPTS() section. + * + * There is also a mechanism to prevent query cancel interrupts, while still + * allowing die interrupts: HOLD_CANCEL_INTERRUPTS() and + * RESUME_CANCEL_INTERRUPTS(). + * + * Note that ProcessInterrupts() has also acquired a number of tasks that + * do not necessarily cause a query-cancel-or-die response. Hence, it's + * possible that it will just clear InterruptPending and return. + * + * INTERRUPTS_PENDING_CONDITION() can be checked to see whether an + * interrupt needs to be serviced, without trying to do so immediately. + * Some callers are also interested in INTERRUPTS_CAN_BE_PROCESSED(), + * which tells whether ProcessInterrupts is sure to clear the interrupt. + * + * Special mechanisms are used to let an interrupt be accepted when we are + * waiting for a lock or when we are waiting for command input (but, of + * course, only if the interrupt holdoff counter is zero). See the + * related code for details. + * + * A lost connection is handled similarly, although the loss of connection + * does not raise a signal, but is detected when we fail to write to the + * socket. If there was a signal for a broken connection, we could make use of + * it by setting ClientConnectionLost in the signal handler. + * + * A related, but conceptually distinct, mechanism is the "critical section" + * mechanism. A critical section not only holds off cancel/die interrupts, + * but causes any ereport(ERROR) or ereport(FATAL) to become ereport(PANIC) + * --- that is, a system-wide reset is forced. Needless to say, only really + * *critical* code should be marked as a critical section! Currently, this + * mechanism is only used for XLOG-related code. + * + *****************************************************************************/ + +/* in globals.c */ +/* these are marked volatile because they are set by signal handlers: */ +extern PGDLLIMPORT volatile sig_atomic_t InterruptPending; +extern PGDLLIMPORT volatile sig_atomic_t QueryCancelPending; +extern PGDLLIMPORT volatile sig_atomic_t ProcDiePending; +extern PGDLLIMPORT volatile int ProcDieSenderPid; +extern PGDLLIMPORT volatile int ProcDieSenderUid; +extern PGDLLIMPORT volatile sig_atomic_t IdleInTransactionSessionTimeoutPending; +extern PGDLLIMPORT volatile sig_atomic_t TransactionTimeoutPending; +extern PGDLLIMPORT volatile sig_atomic_t IdleSessionTimeoutPending; +extern PGDLLIMPORT volatile sig_atomic_t ProcSignalBarrierPending; +extern PGDLLIMPORT volatile sig_atomic_t LogMemoryContextPending; +extern PGDLLIMPORT volatile sig_atomic_t IdleStatsUpdateTimeoutPending; + +extern PGDLLIMPORT volatile sig_atomic_t CheckClientConnectionPending; +extern PGDLLIMPORT volatile sig_atomic_t ClientConnectionLost; + +/***************************************************************************** + * CHECK_FOR_INTERRUPTS() and friends + *****************************************************************************/ + +/* + * Check whether any enabled interrupt is pending, without trying to service + * it immediately. This is can be used in a HOLD_INTERRUPTS() block to check + * if the HOLD_INTERRUPTS() is delaying the interrupt processing. + */ +#ifndef WIN32 +#define INTERRUPTS_PENDING_CONDITION() \ + (unlikely(InterruptPending)) +#else +#define INTERRUPTS_PENDING_CONDITION() \ + (unlikely(UNBLOCKED_SIGNAL_QUEUE()) ? \ + pgwin32_dispatch_queued_signals() : (void) 0, \ + unlikely(InterruptPending)) +#endif + +/* + * Can interrupts be processed in the current state, i.e. are the interrupts + * not prevented by the HOLD_INTERRUPTS() or a critical section? + */ +#define INTERRUPTS_CAN_BE_PROCESSED() \ + (InterruptHoldoffCount == 0 && CritSectionCount == 0 && \ + QueryCancelHoldoffCount == 0) + +/* + * Service an interrupt, if one is pending and it's safe to service it now. + * + * NB: This is called from all over the codebase, and in fairly tight loops, + * so this needs to be very short and fast when there is no work to do! + */ +#define CHECK_FOR_INTERRUPTS() \ +do { \ + if (INTERRUPTS_PENDING_CONDITION()) \ + ProcessInterrupts(); \ +} while(0) + +/* in tcop/postgres.c */ +extern void ProcessInterrupts(void); + +/***************************************************************************** + * Critical section and interrupt holdoff mechanism + *****************************************************************************/ + +/* these are marked volatile because they are examined by signal handlers: */ +extern PGDLLIMPORT volatile uint32 InterruptHoldoffCount; +extern PGDLLIMPORT volatile uint32 QueryCancelHoldoffCount; +extern PGDLLIMPORT volatile uint32 CritSectionCount; + +static inline void +HOLD_INTERRUPTS(void) +{ + InterruptHoldoffCount++; +} + +static inline void +RESUME_INTERRUPTS(void) +{ + Assert(InterruptHoldoffCount > 0); + InterruptHoldoffCount--; +} + +static inline void +HOLD_CANCEL_INTERRUPTS(void) +{ + QueryCancelHoldoffCount++; +} + +static inline void +RESUME_CANCEL_INTERRUPTS(void) +{ + Assert(QueryCancelHoldoffCount > 0); + QueryCancelHoldoffCount--; +} + +static inline void +START_CRIT_SECTION(void) +{ + CritSectionCount++; +} + +static inline void +END_CRIT_SECTION(void) +{ + Assert(CritSectionCount > 0); + CritSectionCount--; +} + +#endif /* IPC_INTERRUPT_H */ diff --git a/src/include/libpq/libpq-be-fe-helpers.h b/src/include/libpq/libpq-be-fe-helpers.h index cff68cd1c37..019e6c710e4 100644 --- a/src/include/libpq/libpq-be-fe-helpers.h +++ b/src/include/libpq/libpq-be-fe-helpers.h @@ -30,12 +30,13 @@ #ifndef LIBPQ_BE_FE_HELPERS_H #define LIBPQ_BE_FE_HELPERS_H +#include "ipc/interrupt.h" #include "libpq/libpq-be-fe.h" #include "miscadmin.h" #include "storage/fd.h" #include "storage/latch.h" #include "utils/timestamp.h" -#include "utils/wait_event.h" +#include "utils/wait_classes.h" static inline void libpqsrv_connect_prepare(void); diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 7170a4bff98..5a1b6524673 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -23,8 +23,6 @@ #ifndef MISCADMIN_H #define MISCADMIN_H -#include - #include "datatype/timestamp.h" /* for TimestampTz */ #include "pgtime.h" /* for pg_time_t */ @@ -32,132 +30,6 @@ #define InvalidPid (-1) -/***************************************************************************** - * System interrupt and critical section handling - * - * There are two types of interrupts that a running backend needs to accept - * without messing up its state: QueryCancel (SIGINT) and ProcDie (SIGTERM). - * In both cases, we need to be able to clean up the current transaction - * gracefully, so we can't respond to the interrupt instantaneously --- - * there's no guarantee that internal data structures would be self-consistent - * if the code is interrupted at an arbitrary instant. Instead, the signal - * handlers set flags that are checked periodically during execution. - * - * The CHECK_FOR_INTERRUPTS() macro is called at strategically located spots - * where it is normally safe to accept a cancel or die interrupt. In some - * cases, we invoke CHECK_FOR_INTERRUPTS() inside low-level subroutines that - * might sometimes be called in contexts that do *not* want to allow a cancel - * or die interrupt. The HOLD_INTERRUPTS() and RESUME_INTERRUPTS() macros - * allow code to ensure that no cancel or die interrupt will be accepted, - * even if CHECK_FOR_INTERRUPTS() gets called in a subroutine. The interrupt - * will be held off until CHECK_FOR_INTERRUPTS() is done outside any - * HOLD_INTERRUPTS() ... RESUME_INTERRUPTS() section. - * - * There is also a mechanism to prevent query cancel interrupts, while still - * allowing die interrupts: HOLD_CANCEL_INTERRUPTS() and - * RESUME_CANCEL_INTERRUPTS(). - * - * Note that ProcessInterrupts() has also acquired a number of tasks that - * do not necessarily cause a query-cancel-or-die response. Hence, it's - * possible that it will just clear InterruptPending and return. - * - * INTERRUPTS_PENDING_CONDITION() can be checked to see whether an - * interrupt needs to be serviced, without trying to do so immediately. - * Some callers are also interested in INTERRUPTS_CAN_BE_PROCESSED(), - * which tells whether ProcessInterrupts is sure to clear the interrupt. - * - * Special mechanisms are used to let an interrupt be accepted when we are - * waiting for a lock or when we are waiting for command input (but, of - * course, only if the interrupt holdoff counter is zero). See the - * related code for details. - * - * A lost connection is handled similarly, although the loss of connection - * does not raise a signal, but is detected when we fail to write to the - * socket. If there was a signal for a broken connection, we could make use of - * it by setting ClientConnectionLost in the signal handler. - * - * A related, but conceptually distinct, mechanism is the "critical section" - * mechanism. A critical section not only holds off cancel/die interrupts, - * but causes any ereport(ERROR) or ereport(FATAL) to become ereport(PANIC) - * --- that is, a system-wide reset is forced. Needless to say, only really - * *critical* code should be marked as a critical section! Currently, this - * mechanism is only used for XLOG-related code. - * - *****************************************************************************/ - -/* in globals.c */ -/* these are marked volatile because they are set by signal handlers: */ -extern PGDLLIMPORT volatile sig_atomic_t InterruptPending; -extern PGDLLIMPORT volatile sig_atomic_t QueryCancelPending; -extern PGDLLIMPORT volatile sig_atomic_t ProcDiePending; -extern PGDLLIMPORT volatile int ProcDieSenderPid; -extern PGDLLIMPORT volatile int ProcDieSenderUid; -extern PGDLLIMPORT volatile sig_atomic_t IdleInTransactionSessionTimeoutPending; -extern PGDLLIMPORT volatile sig_atomic_t TransactionTimeoutPending; -extern PGDLLIMPORT volatile sig_atomic_t IdleSessionTimeoutPending; -extern PGDLLIMPORT volatile sig_atomic_t ProcSignalBarrierPending; -extern PGDLLIMPORT volatile sig_atomic_t LogMemoryContextPending; -extern PGDLLIMPORT volatile sig_atomic_t IdleStatsUpdateTimeoutPending; - -extern PGDLLIMPORT volatile sig_atomic_t CheckClientConnectionPending; -extern PGDLLIMPORT volatile sig_atomic_t ClientConnectionLost; - -/* these are marked volatile because they are examined by signal handlers: */ -extern PGDLLIMPORT volatile uint32 InterruptHoldoffCount; -extern PGDLLIMPORT volatile uint32 QueryCancelHoldoffCount; -extern PGDLLIMPORT volatile uint32 CritSectionCount; - -/* in tcop/postgres.c */ -extern void ProcessInterrupts(void); - -/* Test whether an interrupt is pending */ -#ifndef WIN32 -#define INTERRUPTS_PENDING_CONDITION() \ - (unlikely(InterruptPending)) -#else -#define INTERRUPTS_PENDING_CONDITION() \ - (unlikely(UNBLOCKED_SIGNAL_QUEUE()) ? \ - pgwin32_dispatch_queued_signals() : (void) 0, \ - unlikely(InterruptPending)) -#endif - -/* Service interrupt, if one is pending and it's safe to service it now */ -#define CHECK_FOR_INTERRUPTS() \ -do { \ - if (INTERRUPTS_PENDING_CONDITION()) \ - ProcessInterrupts(); \ -} while(0) - -/* Is ProcessInterrupts() guaranteed to clear InterruptPending? */ -#define INTERRUPTS_CAN_BE_PROCESSED() \ - (InterruptHoldoffCount == 0 && CritSectionCount == 0 && \ - QueryCancelHoldoffCount == 0) - -#define HOLD_INTERRUPTS() (InterruptHoldoffCount++) - -#define RESUME_INTERRUPTS() \ -do { \ - Assert(InterruptHoldoffCount > 0); \ - InterruptHoldoffCount--; \ -} while(0) - -#define HOLD_CANCEL_INTERRUPTS() (QueryCancelHoldoffCount++) - -#define RESUME_CANCEL_INTERRUPTS() \ -do { \ - Assert(QueryCancelHoldoffCount > 0); \ - QueryCancelHoldoffCount--; \ -} while(0) - -#define START_CRIT_SECTION() (CritSectionCount++) - -#define END_CRIT_SECTION() \ -do { \ - Assert(CritSectionCount > 0); \ - CritSectionCount--; \ -} while(0) - - /***************************************************************************** * globals.h -- * *****************************************************************************/ diff --git a/src/include/regex/regcustom.h b/src/include/regex/regcustom.h index 8c4d5d8cc7c..ab038a12e8a 100644 --- a/src/include/regex/regcustom.h +++ b/src/include/regex/regcustom.h @@ -42,6 +42,7 @@ #include #include +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" #include "miscadmin.h" /* needed by rstacktoodeep */ diff --git a/src/include/utils/backend_status.h b/src/include/utils/backend_status.h index a334e096e4a..8b13811f167 100644 --- a/src/include/utils/backend_status.h +++ b/src/include/utils/backend_status.h @@ -11,6 +11,7 @@ #define BACKEND_STATUS_H #include "datatype/timestamp.h" +#include "ipc/interrupt.h" #include "libpq/pqcomm.h" #include "miscadmin.h" /* for BackendType */ #include "storage/procnumber.h" diff --git a/src/include/utils/pgstat_internal.h b/src/include/utils/pgstat_internal.h index 3ca4f454895..62e7c736e87 100644 --- a/src/include/utils/pgstat_internal.h +++ b/src/include/utils/pgstat_internal.h @@ -15,6 +15,7 @@ #include "common/hashfn_unstable.h" +#include "ipc/interrupt.h" #include "lib/dshash.h" #include "lib/ilist.h" #include "pgstat.h" diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index 9ddb81d42b9..d7159d084f1 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -23,6 +23,7 @@ #include "commands/trigger.h" #include "executor/spi.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "parser/parse_type.h" #include "storage/ipc.h" diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c index 65b0fd0790f..206250dc39a 100644 --- a/src/pl/plpgsql/src/pl_exec.c +++ b/src/pl/plpgsql/src/pl_exec.c @@ -26,8 +26,8 @@ #include "executor/spi.h" #include "executor/tstoreReceiver.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "mb/stringinfo_mb.h" -#include "miscadmin.h" #include "nodes/nodeFuncs.h" #include "nodes/supportnodes.h" #include "optimizer/optimizer.h" diff --git a/src/port/pg_numa.c b/src/port/pg_numa.c index 8954669273a..1df5ee3033f 100644 --- a/src/port/pg_numa.c +++ b/src/port/pg_numa.c @@ -16,7 +16,10 @@ #include "c.h" #include -#include "miscadmin.h" +#ifndef FRONTEND +#include "postgres.h" +#include "ipc/interrupt.h" +#endif #include "port/pg_numa.h" /* diff --git a/src/test/modules/injection_points/regress_injection.c b/src/test/modules/injection_points/regress_injection.c index 0c3113eac2f..e090d5d28d1 100644 --- a/src/test/modules/injection_points/regress_injection.c +++ b/src/test/modules/injection_points/regress_injection.c @@ -16,7 +16,7 @@ #include "access/table.h" #include "fmgr.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "postmaster/autovacuum.h" #include "storage/procarray.h" #include "utils/rel.h" diff --git a/src/test/modules/test_bitmapset/test_bitmapset.c b/src/test/modules/test_bitmapset/test_bitmapset.c index 66b6badb82f..64b443c5b4c 100644 --- a/src/test/modules/test_bitmapset/test_bitmapset.c +++ b/src/test/modules/test_bitmapset/test_bitmapset.c @@ -20,7 +20,7 @@ #include "catalog/pg_type.h" #include "common/pg_prng.h" #include "fmgr.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "nodes/bitmapset.h" #include "nodes/nodes.h" #include "nodes/pg_list.h" diff --git a/src/test/modules/test_bloomfilter/test_bloomfilter.c b/src/test/modules/test_bloomfilter/test_bloomfilter.c index df41066138c..9efa1bbdf2d 100644 --- a/src/test/modules/test_bloomfilter/test_bloomfilter.c +++ b/src/test/modules/test_bloomfilter/test_bloomfilter.c @@ -14,8 +14,8 @@ #include "common/pg_prng.h" #include "fmgr.h" +#include "ipc/interrupt.h" #include "lib/bloomfilter.h" -#include "miscadmin.h" PG_MODULE_MAGIC; diff --git a/src/test/modules/test_saslprep/test_saslprep.c b/src/test/modules/test_saslprep/test_saslprep.c index 121212d4fa2..15a49e645ea 100644 --- a/src/test/modules/test_saslprep/test_saslprep.c +++ b/src/test/modules/test_saslprep/test_saslprep.c @@ -17,8 +17,8 @@ #include "common/saslprep.h" #include "fmgr.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" -#include "miscadmin.h" #include "utils/builtins.h" PG_MODULE_MAGIC; diff --git a/src/test/modules/test_shm_mq/setup.c b/src/test/modules/test_shm_mq/setup.c index 4f40a61e3d9..259c0c8253a 100644 --- a/src/test/modules/test_shm_mq/setup.c +++ b/src/test/modules/test_shm_mq/setup.c @@ -15,6 +15,7 @@ #include "postgres.h" +#include "ipc/interrupt.h" #include "miscadmin.h" #include "pgstat.h" #include "postmaster/bgworker.h" diff --git a/src/test/modules/test_shm_mq/test.c b/src/test/modules/test_shm_mq/test.c index 0e55287e510..9f401d30176 100644 --- a/src/test/modules/test_shm_mq/test.c +++ b/src/test/modules/test_shm_mq/test.c @@ -14,7 +14,7 @@ #include "postgres.h" #include "fmgr.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "pgstat.h" #include "storage/proc.h" #include "utils/wait_event.h" diff --git a/src/test/modules/test_shm_mq/worker.c b/src/test/modules/test_shm_mq/worker.c index e13c05ae5c7..1b22515ec5c 100644 --- a/src/test/modules/test_shm_mq/worker.c +++ b/src/test/modules/test_shm_mq/worker.c @@ -19,7 +19,7 @@ #include "postgres.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/ipc.h" #include "storage/latch.h" #include "storage/proc.h" diff --git a/src/test/modules/xid_wraparound/xid_wraparound.c b/src/test/modules/xid_wraparound/xid_wraparound.c index ca25d7e0206..64353ab363f 100644 --- a/src/test/modules/xid_wraparound/xid_wraparound.c +++ b/src/test/modules/xid_wraparound/xid_wraparound.c @@ -15,7 +15,7 @@ #include "postgres.h" #include "access/xact.h" -#include "miscadmin.h" +#include "ipc/interrupt.h" #include "storage/proc.h" #include "utils/xid8.h" diff --git a/src/test/regress/regress.c b/src/test/regress/regress.c index d5aafdf370c..321cdcd8b57 100644 --- a/src/test/regress/regress.c +++ b/src/test/regress/regress.c @@ -33,8 +33,8 @@ #include "executor/spi.h" #include "foreign/foreign.h" #include "funcapi.h" +#include "ipc/interrupt.h" #include "mb/pg_wchar.h" -#include "miscadmin.h" #include "nodes/supportnodes.h" #include "optimizer/optimizer.h" #include "optimizer/plancat.h" -- 2.47.3