On Fri, May 06, 2022 at 04:49:24PM -0700, Andres Freund wrote: > Just noticed that > extern sigset_t UnBlockSig, > BlockSig, > StartupBlockSig; > are unadorned.
mark_pgdllimport.pl is not able to capture this part of the change because of this logic, where we assume that the header line has to finish with a semicolon: # Variable declarations should end in a semicolon. If we see an # opening parenthesis, it's probably a function declaration. $needs_pgdllimport = 0 if $stripped_line !~ /;$/ || $stripped_line =~ /\(/; It is quite common to define one variable per line, so I would not put the blame on the script and just update pqsignal.h. And it is common to finish lines with a comma for function declarations.. > There's also a number of variables that are only declared in .c files that > !windows can still access. Some likely aren't worth caring about, but some > others are underlying GUCs, so we probably do? E.g. > CommitDelay > CommitSiblings > default_tablespace > ignore_checksum_failure > ignore_invalid_pages > Log_disconnections > ssl_renegotiation_limit > temp_tablespaces > wal_level_options These are indeed declared in .c files. So you mean that we'd better declare them in headers and mark them as PGDLLIMPORT? I am not sure if that's worth the addition, nobody has asked for these to be available yet, AFAIK. > Unix_socket_group > Unix_socket_permissions Already marked with PGDLLIMPORT. > Also noticed that the bbsink_ops variables are const, instead of static const, > was that intentional? Yep, that looks like an error. While on it, I think that it would be a good idea to document in the script that we need pass down a list of header files as arguments to rewrite them. -- Michael
signature.asc
Description: PGP signature