mirror of
https://github.com/postgres/postgres.git
synced 2025-05-05 09:19:17 +03:00
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
This commit is contained in:
parent
066e8ac6ea
commit
74b8e6a698
@ -552,11 +552,11 @@ start_postmaster(void)
|
|||||||
else
|
else
|
||||||
close(fd);
|
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);
|
comspec, exec_path, pgdata_opt, post_opts, DEVNULL, log_file);
|
||||||
}
|
}
|
||||||
else
|
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);
|
comspec, exec_path, pgdata_opt, post_opts, DEVNULL);
|
||||||
|
|
||||||
if (!CreateRestrictedProcess(cmd, &pi, false))
|
if (!CreateRestrictedProcess(cmd, &pi, false))
|
||||||
|
@ -1244,7 +1244,7 @@ spawn_process(const char *cmdline)
|
|||||||
comspec = "CMD";
|
comspec = "CMD";
|
||||||
|
|
||||||
memset(&pi, 0, sizeof(pi));
|
memset(&pi, 0, sizeof(pi));
|
||||||
cmdline2 = psprintf("\"%s\" /d /c \"%s\"", comspec, cmdline);
|
cmdline2 = psprintf("\"%s\" /c \"%s\"", comspec, cmdline);
|
||||||
|
|
||||||
if (!CreateRestrictedProcess(cmdline2, &pi))
|
if (!CreateRestrictedProcess(cmdline2, &pi))
|
||||||
exit(2);
|
exit(2);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user