Skip to content

Commit f581759

Browse files
committed
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
1 parent e8b1774 commit f581759

File tree

4 files changed

+16
-3
lines changed

4 files changed

+16
-3
lines changed

configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6906,7 +6906,7 @@ fi
69066906

69076907
# We already have this in Makefile.win32, but configure needs it too
69086908
if test "$PORTNAME" = "win32"; then
6909-
CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32 -DEXEC_BACKEND"
6909+
CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32"
69106910
fi
69116911

69126912
# Now that we're done automatically adding stuff to C[XX]FLAGS, put back the

configure.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,7 @@ fi
600600

601601
# We already have this in Makefile.win32, but configure needs it too
602602
if test "$PORTNAME" = "win32"; then
603-
CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32 -DEXEC_BACKEND"
603+
CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32"
604604
fi
605605

606606
# Now that we're done automatically adding stuff to C[XX]FLAGS, put back the

src/include/pg_config_manual.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,19 @@
122122
*/
123123
#define ALIGNOF_BUFFER 32
124124

125+
/*
126+
* If EXEC_BACKEND is defined, the postmaster uses an alternative method for
127+
* starting subprocesses: Instead of simply using fork(), as is standard on
128+
* Unix platforms, it uses fork()+exec() or something equivalent on Windows,
129+
* as well as lots of extra code to bring the required global state to those
130+
* new processes. This must be enabled on Windows (because there is no
131+
* fork()). On other platforms, it's only useful for verifying those
132+
* otherwise Windows-specific code paths.
133+
*/
134+
#if defined(WIN32) && !defined(__CYGWIN__)
135+
#define EXEC_BACKEND
136+
#endif
137+
125138
/*
126139
* Disable UNIX sockets for certain operating systems.
127140
*/

src/tools/msvc/MSBuildProject.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ sub WriteItemDefinitionGroup
320320
<ClCompile>
321321
<Optimization>$p->{opt}</Optimization>
322322
<AdditionalIncludeDirectories>$self->{prefixincludes}src/include;src/include/port/win32;src/include/port/win32_msvc;$includes\%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
323-
<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>
323+
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE$self->{defines}$p->{defs}\%(PreprocessorDefinitions)</PreprocessorDefinitions>
324324
<StringPooling>$p->{strpool}</StringPooling>
325325
<RuntimeLibrary>$p->{runtime}</RuntimeLibrary>
326326
<DisableSpecificWarnings>$self->{disablewarnings};\%(DisableSpecificWarnings)</DisableSpecificWarnings>

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy