Commit f5817595 authored by Peter Eisentraut's avatar Peter Eisentraut

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: default avatarTom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/flat/b7053ba8-b008-5335-31de-2fe4fe41ef0f%402ndquadrant.com
parent e8b1774f
...@@ -6906,7 +6906,7 @@ fi ...@@ -6906,7 +6906,7 @@ fi
# We already have this in Makefile.win32, but configure needs it too # We already have this in Makefile.win32, but configure needs it too
if test "$PORTNAME" = "win32"; then if test "$PORTNAME" = "win32"; then
CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32 -DEXEC_BACKEND" CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32"
fi fi
# Now that we're done automatically adding stuff to C[XX]FLAGS, put back the # Now that we're done automatically adding stuff to C[XX]FLAGS, put back the
......
...@@ -600,7 +600,7 @@ fi ...@@ -600,7 +600,7 @@ fi
# We already have this in Makefile.win32, but configure needs it too # We already have this in Makefile.win32, but configure needs it too
if test "$PORTNAME" = "win32"; then if test "$PORTNAME" = "win32"; then
CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32 -DEXEC_BACKEND" CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32"
fi fi
# Now that we're done automatically adding stuff to C[XX]FLAGS, put back the # Now that we're done automatically adding stuff to C[XX]FLAGS, put back the
......
...@@ -122,6 +122,19 @@ ...@@ -122,6 +122,19 @@
*/ */
#define ALIGNOF_BUFFER 32 #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. * Disable UNIX sockets for certain operating systems.
*/ */
......
...@@ -320,7 +320,7 @@ sub WriteItemDefinitionGroup ...@@ -320,7 +320,7 @@ sub WriteItemDefinitionGroup
<ClCompile> <ClCompile>
<Optimization>$p->{opt}</Optimization> <Optimization>$p->{opt}</Optimization>
<AdditionalIncludeDirectories>$self->{prefixincludes}src/include;src/include/port/win32;src/include/port/win32_msvc;$includes\%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <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> <StringPooling>$p->{strpool}</StringPooling>
<RuntimeLibrary>$p->{runtime}</RuntimeLibrary> <RuntimeLibrary>$p->{runtime}</RuntimeLibrary>
<DisableSpecificWarnings>$self->{disablewarnings};\%(DisableSpecificWarnings)</DisableSpecificWarnings> <DisableSpecificWarnings>$self->{disablewarnings};\%(DisableSpecificWarnings)</DisableSpecificWarnings>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment