From: Michael Paquier Date: Mon, 8 Jul 2024 00:43:59 +0000 (+0900) Subject: Re-enable autoruns for cmd.exe on Windows X-Git-Tag: REL_18_BETA1~2456 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=74b8e6a69802;p=postgresql.git Re-enable autoruns for cmd.exe on Windows This acts as a revert of b83747a8a65b and 9886744a361b. As pointed out by Noah, HEAD and REL_17_STABLE are in a weird state where the code paths adding /D would limit the spawn of child processes, but we still have code paths where the spawn of more than one child process(es) would be possible. Let's remove these /D switches for now, to bring back the code into a state consistent with how autorun is configured on a Windows host. Reported-by: Noah Misch Discussion: https://postgr.es/m/20240630021211.f3.nmisch@google.com Backpatch-through: 17 --- diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c index 405e223c190..57ed8c8e294 100644 --- a/src/bin/pg_ctl/pg_ctl.c +++ b/src/bin/pg_ctl/pg_ctl.c @@ -552,11 +552,11 @@ start_postmaster(void) else close(fd); - cmd = psprintf("\"%s\" /D /C \"\"%s\" %s%s < \"%s\" >> \"%s\" 2>&1\"", + cmd = psprintf("\"%s\" /C \"\"%s\" %s%s < \"%s\" >> \"%s\" 2>&1\"", comspec, exec_path, pgdata_opt, post_opts, DEVNULL, log_file); } else - cmd = psprintf("\"%s\" /D /C \"\"%s\" %s%s < \"%s\" 2>&1\"", + cmd = psprintf("\"%s\" /C \"\"%s\" %s%s < \"%s\" 2>&1\"", comspec, exec_path, pgdata_opt, post_opts, DEVNULL); if (!CreateRestrictedProcess(cmd, &pi, false)) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 06f6775fc65..7e7ad256000 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -1244,7 +1244,7 @@ spawn_process(const char *cmdline) comspec = "CMD"; memset(&pi, 0, sizeof(pi)); - cmdline2 = psprintf("\"%s\" /d /c \"%s\"", comspec, cmdline); + cmdline2 = psprintf("\"%s\" /c \"%s\"", comspec, cmdline); if (!CreateRestrictedProcess(cmdline2, &pi)) exit(2);