From 2059c5e3b06545e7d0650dba9c665332374c3c21 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 25 Aug 2022 15:07:03 +0200 Subject: [PATCH] Move NON_EXEC_STATIC from c.h to postgres.h It is not needed at the scope of c.h, only in backend code. Reviewed-by: Tom Lane Discussion: https://www.postgresql.org/message-id/flat/a6a6b48e-ca0a-b58d-18de-98e40d94b842%40enterprisedb.com --- src/include/c.h | 7 ------- src/include/postgres.h | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/include/c.h b/src/include/c.h index a381f9a6c4..101ba41331 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -1327,13 +1327,6 @@ typedef intptr_t sigjmp_buf[5]; #endif /* __MINGW64__ */ #endif /* WIN32 */ -/* EXEC_BACKEND defines */ -#ifdef EXEC_BACKEND -#define NON_EXEC_STATIC -#else -#define NON_EXEC_STATIC static -#endif - /* /port compatibility functions */ #include "port.h" diff --git a/src/include/postgres.h b/src/include/postgres.h index 31358110dc..13903fa022 100644 --- a/src/include/postgres.h +++ b/src/include/postgres.h @@ -25,6 +25,7 @@ * ------- ------------------------------------------------ * 1) variable-length datatypes (TOAST support) * 2) Datum type + support macros + * 3) miscellaneous * * NOTES * @@ -805,4 +806,23 @@ extern Datum Float8GetDatum(float8 X); #define Float8GetDatumFast(X) PointerGetDatum(&(X)) #endif + +/* ---------------------------------------------------------------- + * Section 3: miscellaneous + * ---------------------------------------------------------------- + */ + +/* + * NON_EXEC_STATIC: It's sometimes useful to define a variable or function + * that is normally static but extern when using EXEC_BACKEND (see + * pg_config_manual.h). There would then typically be some code in + * postmaster.c that uses those extern symbols to transfer state between + * processes or do whatever other things it needs to do in EXEC_BACKEND mode. + */ +#ifdef EXEC_BACKEND +#define NON_EXEC_STATIC +#else +#define NON_EXEC_STATIC static +#endif + #endif /* POSTGRES_H */