Re: [HACKERS] removing the exec() from doexec() - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] removing the exec() from doexec()
Date
Msg-id 199804300144.VAA00356@candle.pha.pa.us
Whole thread Raw
In response to removing the exec() from doexec()  (Brett McCormickS <brett@abraxas.scene.com>)
Responses Re: [HACKERS] removing the exec() from doexec()
Re: [HACKERS] removing the exec() from doexec()
List pgsql-hackers
>
>
> I'm planning on removing the exec from DoExec() and instead just
> dispatch to the appropriate function.
>
> I don't plan on any changes to the usage of "arguments" to this new
> process, basically I'll just store them somewhere and then the forked
> backend can process them.
>
> Is there anything I should keep in mind?  I'd like this to eventually
> be integrated into the source tree -- any particular reason why we use
> exec() when we're just re-invoking the same binary?
>
> p.s. this is so my ssl patch doesn't have to negotiate twice -- very expensive

No reason for the exec().  I believe the only advantage is that it gives
us a separate process name in the 'ps' listing.  I have looked into
simulating this.

This exec() takes 15% of our startup time.  I have wanted it removed for
many releases now.  The only problem is to rip out the code that
re-attached to shared memory and stuff like that, because you will no
longer loose the shared memory in the exec().  The IPC code is
complicated, so good luck.  I or others can help if you get stuck.

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: Brett McCormickS
Date:
Subject: removing the exec() from doexec()
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] removing the exec() from doexec()