Re: [HACKERS] removing the exec() from doexec()

Bruce Momjian <maillist@candle.pha.pa.us>

From: Bruce Momjian <maillist@candle.pha.pa.us>
To: brett@abraxas.scene.com (Brett McCormickS)
Cc: pgsql-hackers@hub.org
Date: 1998-04-30T01:44:15Z
Lists: 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)