aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2022-05-12 15:08:45 +0900
committerMichael Paquier <michael@paquier.xyz>2022-05-12 15:08:45 +0900
commit5edeb574285ecbcc47f0b769a7e363404db0155b (patch)
tree11b54606837dac4919a7de968ffd3318b9c5e8c0
parent6bfecf33f6ed558deee4f801e296b058261dbef3 (diff)
downloadpostgresql-5edeb574285ecbcc47f0b769a7e363404db0155b.tar.gz
postgresql-5edeb574285ecbcc47f0b769a7e363404db0155b.zip
Add some missing PGDLLIMPORT markings
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
-rw-r--r--src/include/common/logging.h2
-rw-r--r--src/include/libpq/pqsignal.h6
-rwxr-xr-xsrc/tools/mark_pgdllimport.pl3
3 files changed, 6 insertions, 5 deletions
diff --git a/src/include/common/logging.h b/src/include/common/logging.h
index 9f426c32d61..2ab9f0ea502 100644
--- a/src/include/common/logging.h
+++ b/src/include/common/logging.h
@@ -51,7 +51,7 @@ enum pg_log_level
/*
* __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,
diff --git a/src/include/libpq/pqsignal.h b/src/include/libpq/pqsignal.h
index 016fc89bd92..41227a30e24 100644
--- a/src/include/libpq/pqsignal.h
+++ b/src/include/libpq/pqsignal.h
@@ -30,9 +30,9 @@ extern int pqsigsetmask(int mask);
#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);
diff --git a/src/tools/mark_pgdllimport.pl b/src/tools/mark_pgdllimport.pl
index 83b90db6ef9..834fcac5b54 100755
--- a/src/tools/mark_pgdllimport.pl
+++ b/src/tools/mark_pgdllimport.pl
@@ -12,7 +12,8 @@
# 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