On Thu, Jan 11, 2024 at 3:33 AM Kyotaro Horiguchi
<horikyota.ntt@gmail.com> wrote:
> Is it correct to understand that you are requesting changes as follows?
>
> --- a/src/bin/pg_ctl/pg_ctl.c
> +++ b/src/bin/pg_ctl/pg_ctl.c
> @@ -1995,11 +1995,14 @@ pgwin32_find_postmaster_pid(pid_t shell_pid)
> *
> * Check for duplicate processes to ensure reliability.
> *
> - * The launcher shell might start other cmd.exe instances or programs
> - * besides postgres.exe. Verifying the program file name is essential.
> - *
> - * The launcher shell process isn't checked in this function. It will be
> - * checked by the caller.
> + * The ppe entry to be examined is identified by th32ParentProcessID, which
> + * should correspond to the cmd.exe process that executes the postgres.exe
> + * binary. Additionally, th32ProcessID in the same entry should be the PID
> + * of the launched postgres.exe. However, even though we have launched the
> + * parent cmd.exe with the /D option specified, it is sometimes observed
> + * that another cmd.exe is launched for unknown reasons. Therefore, it is
> + * crucial to verify the program file name to avoid returning the wrong
> + * PID.
> */
This kind of change looks massively helpful to me. I don't know if it
is exactly right or not, but it would have been a big help to me when
writing my previous review, so +1 for some change of this general
type.
--
Robert Haas
EDB: http://www.enterprisedb.com