From: | "Ken Hirsch" <kenhirsch(at)myself(dot)com> |
---|---|
To: | "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "PostgreSQL-development" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Pre-forking backend |
Date: | 2001-09-29 20:28:00 |
Message-ID: | 008001c14925$3eeb2520$87863dd0@hppav |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Bruce Momjian wrote:
> Tom Lane wrote:
> > Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)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().
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2001-09-29 20:29:44 | Re: Pre-forking backend |
Previous Message | Tom Lane | 2001-09-29 20:15:01 | Re: Problem with setlocale (found in libecpg) [accessing a memory location after freeing it] |