From 2059c5e3b06545e7d0650dba9c665332374c3c21 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 25 Aug 2022 15:07:03 +0200 Subject: 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/postgres.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/include/postgres.h') diff --git a/src/include/postgres.h b/src/include/postgres.h index 31358110dca..13903fa022a 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 */ -- cgit v1.2.3