diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2020-03-25 14:23:25 +0100 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2020-03-25 14:31:14 +0100 |
commit | f5817595a7f194d25bc9be5b035eb1f7f60cd1fa (patch) | |
tree | e93265d6268975d63c7be15bb56cdc6436327b94 | |
parent | e8b1774fc288d7f789a539ef0a768aff2deef600 (diff) | |
download | postgresql-f5817595a7f194d25bc9be5b035eb1f7f60cd1fa.tar.gz postgresql-f5817595a7f194d25bc9be5b035eb1f7f60cd1fa.zip |
Define EXEC_BACKEND in pg_config_manual.h
It was for unclear reasons defined in a separate location, which makes
it more cumbersome to override for testing, and it also did not have
any prominent documentation. Move to pg_config_manual.h, where
similar things are already collected.
The previous definition on the command-line had the effect of defining
it to the value 1, but now that we don't need that anymore we just
define it to empty, to simplify manual editing a bit.
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/flat/b7053ba8-b008-5335-31de-2fe4fe41ef0f%402ndquadrant.com
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | src/include/pg_config_manual.h | 13 | ||||
-rw-r--r-- | src/tools/msvc/MSBuildProject.pm | 2 |
4 files changed, 16 insertions, 3 deletions
diff --git a/configure b/configure index a7cf71b3f17..899116517cf 100755 --- a/configure +++ b/configure @@ -6906,7 +6906,7 @@ fi # We already have this in Makefile.win32, but configure needs it too if test "$PORTNAME" = "win32"; then - CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32 -DEXEC_BACKEND" + CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32" fi # Now that we're done automatically adding stuff to C[XX]FLAGS, put back the diff --git a/configure.in b/configure.in index d36a7e94b3a..ecdf1723967 100644 --- a/configure.in +++ b/configure.in @@ -600,7 +600,7 @@ fi # We already have this in Makefile.win32, but configure needs it too if test "$PORTNAME" = "win32"; then - CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32 -DEXEC_BACKEND" + CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32" fi # Now that we're done automatically adding stuff to C[XX]FLAGS, put back the diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h index d74a8dd8083..b7410ff51e5 100644 --- a/src/include/pg_config_manual.h +++ b/src/include/pg_config_manual.h @@ -123,6 +123,19 @@ #define ALIGNOF_BUFFER 32 /* + * If EXEC_BACKEND is defined, the postmaster uses an alternative method for + * starting subprocesses: Instead of simply using fork(), as is standard on + * Unix platforms, it uses fork()+exec() or something equivalent on Windows, + * as well as lots of extra code to bring the required global state to those + * new processes. This must be enabled on Windows (because there is no + * fork()). On other platforms, it's only useful for verifying those + * otherwise Windows-specific code paths. + */ +#if defined(WIN32) && !defined(__CYGWIN__) +#define EXEC_BACKEND +#endif + +/* * Disable UNIX sockets for certain operating systems. */ #if defined(WIN32) diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm index 823357c023f..ebb169e2012 100644 --- a/src/tools/msvc/MSBuildProject.pm +++ b/src/tools/msvc/MSBuildProject.pm @@ -320,7 +320,7 @@ sub WriteItemDefinitionGroup <ClCompile> <Optimization>$p->{opt}</Optimization> <AdditionalIncludeDirectories>$self->{prefixincludes}src/include;src/include/port/win32;src/include/port/win32_msvc;$includes\%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;EXEC_BACKEND;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE$self->{defines}$p->{defs}\%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE$self->{defines}$p->{defs}\%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>$p->{strpool}</StringPooling> <RuntimeLibrary>$p->{runtime}</RuntimeLibrary> <DisableSpecificWarnings>$self->{disablewarnings};\%(DisableSpecificWarnings)</DisableSpecificWarnings> |