diff options
author | Michael Paquier <michael@paquier.xyz> | 2022-05-12 15:08:45 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2022-05-12 15:08:45 +0900 |
commit | 5edeb574285ecbcc47f0b769a7e363404db0155b (patch) | |
tree | 11b54606837dac4919a7de968ffd3318b9c5e8c0 | |
parent | 6bfecf33f6ed558deee4f801e296b058261dbef3 (diff) | |
download | postgresql-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.h | 2 | ||||
-rw-r--r-- | src/include/libpq/pqsignal.h | 6 | ||||
-rwxr-xr-x | src/tools/mark_pgdllimport.pl | 3 |
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 |