From f5817595a7f194d25bc9be5b035eb1f7f60cd1fa Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 25 Mar 2020 14:23:25 +0100 Subject: 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 Discussion: https://www.postgresql.org/message-id/flat/b7053ba8-b008-5335-31de-2fe4fe41ef0f%402ndquadrant.com --- src/include/pg_config_manual.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/include/pg_config_manual.h') 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 @@ -122,6 +122,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. */ -- cgit v1.2.3