From fa1f0d785921b34a98562a806aed2c3d34aaf7be Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 16 Feb 2014 20:12:43 -0500 Subject: [PATCH] PGDLLIMPORT-ify MainLWLockArray, ProcDiePending, proc_exit_inprogress. These are needed in HEAD to make assorted contrib modules build on Windows. Now that all the MSVC and Mingw buildfarm members seem to be on the same page about the need for them, we can have some confidence that future problems of this ilk will be detected promptly; there seems nothing more to be learned by delaying this fix further. I chose to mark QueryCancelPending as well, since it's easy to imagine code that wants to touch ProcDiePending also caring about QueryCancelPending. --- src/include/miscadmin.h | 4 ++-- src/include/storage/ipc.h | 2 +- src/include/storage/lwlock.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 2146d7e6ab..947906a280 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -74,8 +74,8 @@ /* in globals.c */ /* these are marked volatile because they are set by signal handlers: */ extern PGDLLIMPORT volatile bool InterruptPending; -extern volatile bool QueryCancelPending; -extern volatile bool ProcDiePending; +extern PGDLLIMPORT volatile bool QueryCancelPending; +extern PGDLLIMPORT volatile bool ProcDiePending; extern volatile bool ClientConnectionLost; diff --git a/src/include/storage/ipc.h b/src/include/storage/ipc.h index 37eca7a139..8b9f10b785 100644 --- a/src/include/storage/ipc.h +++ b/src/include/storage/ipc.h @@ -62,7 +62,7 @@ typedef void (*shmem_startup_hook_type) (void); /* ipc.c */ -extern bool proc_exit_inprogress; +extern PGDLLIMPORT bool proc_exit_inprogress; extern void proc_exit(int code) __attribute__((noreturn)); extern void shmem_exit(int code); diff --git a/src/include/storage/lwlock.h b/src/include/storage/lwlock.h index c8ff4ebfb8..8840c791dd 100644 --- a/src/include/storage/lwlock.h +++ b/src/include/storage/lwlock.h @@ -80,7 +80,7 @@ typedef union LWLockPadded LWLock lock; char pad[LWLOCK_PADDED_SIZE]; } LWLockPadded; -extern LWLockPadded *MainLWLockArray; +extern PGDLLIMPORT LWLockPadded *MainLWLockArray; /* * Some commonly-used locks have predefined positions within MainLWLockArray;