> Bruce Momjian wrote:
> > Tom Lane wrote:
> > > Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > > > How hard would it be to pre-fork an extra backend
> > >
> > > How are you going to pass the connection socket to an already-forked
> > > child process? AFAIK there's no remotely portable way ...
> >
> > No idea but it seemed like a nice optimization if we could do it.
>
> What can be done is to have the parent process open and listen() on the
> socket, then have each child do an accept() on the socket. That way you
> don't have to pass the socket. The function of the parent process would then
> be only to decide when to start new children.
>
> On some operating systems, only one child at a time can accept() on the
> socket. On these, you have to lock around the call to accept().
But how do you know the client wants the database you have forked? They
could want a different one.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026