Hi,
On 2023-05-16 08:55:20 -0400, Andrew Dunstan wrote:
> I don't know where this all leaves us. It's still more than odd that the
> start works fine and the stop doesn't.
From what I understand it's just a question of starting another shell, with
some redirection, after having previously started a shell, which left a
program running (thus still referencing the same console device).
> This piece of code has worked happily for years. It's only a recent
> installation or update of msys2 that's made the problem appear.
Yea, it does look like a bug somewhere. I just don't know how to make it a
small enough reproducer right now.
> I have implemented a workaround where IPC::Run is available - that means a
> little extra one-off work for people using msys2, but it's not a huge
> burden. Beyond that I don't really want to spend a lot more energy on it.
> I suppose the alternative would be to change the way the buildfarm calls
> pg_ctl stop. Do you have a concrete suggestion for that?
The easiest fix is to redirect stdin to /dev/null (or some file, if that's
easier to do portably) - that should fix the problem entirely, without needing
IPC::Run.
Greetings,
Andres Freund