This patch *replaces* the previous one. Contains the exact same changes,
except it *also* contains the move of the backend parameter file to
shared memory on win32.
This gives a speed boost of about 10% on a program that calls
PQconnect/PQfinish in a tight loop on 10 parallell threads on my system
(client and server both on the same machine, desktop system).
I figured this was the most important thing to get in for now :-) I
still plan to do the cleanups of the forkexec code later.
//Magnus
-Original Message-
From: Magnus Hagander
Sent: den 12 november 2004 22:21
To: PostgreSQL Patches
Subject: [PATCHES] Win32 signals sockets
Finally, here is the patch:
* Create the signal pipe in the postmaster and then inherit it into the
child
* Duplicate sockets using WSADuplicateSocket/WSASocket to get around
buggy LSP implementations. From my testing this does not solve *all*
problems, but it does solve a lot of them.
* Change pgstat so it signals the collector when the bufferer
terminates. Because some LSPs are still broken and process termination
just won't work when the pipe goes away.
* Clean up handling of the backend parameter file some. There was no
error checking at all in large parts of it before, which bit me during
testing, so I figured I might as well take a stab at that.
This moves it
all into a structure and writes that one - which is also
preparation for
the move of the parameter structure away from a file and into shared
memory.
If this is accepted I also plan to do a patch to split out the forkexec
code into a separate file and try to clean up the dependencies a bit
further. It'd be nice if I could get that into 8.0.0 (which would
probably mean this beta, since it seems to be the last one), but it's
not critical.
I'd also like to take a look at moving the parameter file into shared
memory at least on win32, since it gives thefilesystem quite a bit of
trashing. I think that can be done pretty easily, but I'm not sure if
there'll be tinme for that in 8.0.0 either.
//Magnus
forkexec2.patch
Description: forkexec2.patch
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings