Three variables in pqsignal.h (UnBlockSig, BlockSig and StartupBlockSig)
were not marked with PGDLLIMPORT, as they are declared in a way that
prevents mark_pgdllimport.pl to detect them. These variables are
redefined in a style more consistent with the other headers, allowing
the script to find and mark them.
PGDLLIMPORT was missing for __pg_log_level in logging.h, so add it
back. The marking got accidentally removed in
9a374b77, just after its
addition in
8ec5694.
While on it, add a comment in mark_pgdllimport.pl explaining what are
the arguments needed by the script (aka a list of header paths).
Reported-by: Andres Freund
Discussion: https://postgr.es/m/
20220506234924.6mxxotl3xl63db3l@alap3.anarazel.de
/*
* __pg_log_level is the minimum log level that will actually be shown.
*/
-extern enum pg_log_level __pg_log_level;
+extern PGDLLIMPORT enum pg_log_level __pg_log_level;
/*
* A log message can have several parts. The primary message is required,
#define sigdelset(set, signum) (*(set) &= ~(sigmask(signum)))
#endif /* WIN32 */
-extern sigset_t UnBlockSig,
- BlockSig,
- StartupBlockSig;
+extern PGDLLIMPORT sigset_t UnBlockSig;
+extern PGDLLIMPORT sigset_t BlockSig;
+extern PGDLLIMPORT sigset_t StartupBlockSig;
extern void pqinitmask(void);
# smart and may not catch all cases.
#
# It's probably a good idea to run pgindent on any files that this
-# script modifies before committing.
+# script modifies before committing. This script uses as arguments
+# a list of the header files to scan for the markings.
#
# Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California