"Magnus Hagander" <mha(at)sollentuna(dot)net> writes:
> Nope, we need to pass the handle. Only one process can be the
> server-side of the pipe, and once the postmaster has opened it, the
> child process can't do it - the only way to get it is through
> inheritance.
Grumble. Having to call write_backend_variables from two different
places seems Really Ugly.
How about Plan B? It occurs to me that what this proposal really does
is to delay the postmaster until after the child process has been
created. What about doing that in some more straightforward fashion
--- that is, the postmaster doesn't return from win32_forkexec until
it sees that the child has gotten at least as far as being able to
accept signals? (A simple way to do it would just be to loop trying to
kill(0) the child PID.) I guess the tricky part here is recovering if
the child fails to start at all --- a timeout would perhaps do but it's
ugly. Still, seems less ugly than the way this idea is panning out.
regards, tom lane