postgres.git / summary / log / commit / refs

commit    fa1a63dffcd7113d990b3a50d7e697c7852dc9c5
Author:   Michael Paquier <michael@paquier.xyz>
Date:     Mon Jul 08 00:35:10 2024 +0000

    Re-enable autoruns for 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 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


src/bin/pg_ctl/pg_ctl.c | 4 ++-- src/test/regress/pg_regress.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) 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); [parent: 84a9d3800628]