From 11b500072e42c214462b973b0b05f1c68992226b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 29 Nov 2021 00:04:45 -0500 Subject: [PATCH] Portability hack for pg_global_prng_state. PGDLLIMPORT is only appropriate for variables declared in the backend, not when the variable is coming from a library included in frontend code. (This isn't a particularly nice fix, but for now, use the same method employed elsewhere.) Discussion: https://postgr.es/m/E1mrWUD-000235-Hq@gemulon.postgresql.org --- src/include/common/pg_prng.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/include/common/pg_prng.h b/src/include/common/pg_prng.h index 623c65ae73..e4df5165d7 100644 --- a/src/include/common/pg_prng.h +++ b/src/include/common/pg_prng.h @@ -26,7 +26,11 @@ typedef struct pg_prng_state * Callers not needing local PRNG series may use this global state vector, * after initializing it with one of the pg_prng_...seed functions. */ +#ifndef FRONTEND extern PGDLLIMPORT pg_prng_state pg_global_prng_state; +#else +extern pg_prng_state pg_global_prng_state; +#endif extern void pg_prng_seed(pg_prng_state *state, uint64 seed); extern void pg_prng_fseed(pg_prng_state *state, double fseed);