Add some missing PGDLLIMPORT markings
authorMichael Paquier <michael@paquier.xyz>
Thu, 12 May 2022 06:08:45 +0000 (15:08 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 12 May 2022 06:08:45 +0000 (15:08 +0900)
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

src/include/common/logging.h
src/include/libpq/pqsignal.h
src/tools/mark_pgdllimport.pl

index 9f426c32d61259332e1a67599d3c6feb50df456b..2ab9f0ea50268189fbac3011fade94f7d2985960 100644 (file)
@@ -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,
index 016fc89bd92fa560111370bb320544d1ea7c7b79..41227a30e2455ecbaffce2936dbafc28be02f82b 100644 (file)
@@ -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);
 
index 83b90db6ef990df46fcd9466aead156cda04520a..834fcac5b54314d4286508de60e60d6d6f912c13 100755 (executable)
@@ -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