postgresql/src
Tom Lane bbe3c02d38 Revise postmaster startup/shutdown logic to eliminate the problem that a
constant flow of new connection requests could prevent the postmaster from
completing a shutdown or crash restart.  This is done by labeling child
processes that are "dead ends", that is, we know that they were launched only
to tell a client that it can't connect.  These processes are managed
separately so that they don't confuse us into thinking that we can't advance
to the next stage of a shutdown or restart sequence, until the very end
where we must wait for them to drain out so we can delete the shmem segment.
Per discussion of a misbehavior reported by Keaton Adams.

Since this code was baroque already, and my first attempt at fixing the
problem made it entirely impenetrable, I took the opportunity to rewrite it
in a state-machine style.  That eliminates some duplicated code sections and
hopefully makes everything a bit clearer.
2007-08-09 01:18:43 +00:00
..
backend Revise postmaster startup/shutdown logic to eliminate the problem that a 2007-08-09 01:18:43 +00:00
bin Fix pg_restore to guard against unexpected EOF while reading an archive file. 2007-08-06 01:38:15 +00:00
include Adjust the output of MemoryContextStats() so that the stats for a 2007-08-07 06:25:14 +00:00
interfaces Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00
makefiles Fix PGXS conventions so that extensions can be built against Postgres 2007-06-26 22:05:04 +00:00
pl Silence compiler warnings on mingw 2007-07-25 10:17:46 +00:00
port Rename DLLIMPORT macro to PGDLLIMPORT to avoid conflict with 2007-07-25 12:22:54 +00:00
template With the native compiler on Unixware, disable optimization if 2007-07-16 17:38:48 +00:00
test Fix strange quoting. 2007-08-01 22:24:32 +00:00
timezone Fix crash caused by log_timezone patch if we attempt to emit any elog messages 2007-08-04 19:29:25 +00:00
tools Disable warning 4090 = different const qualifiers on msvc since it 2007-07-25 10:51:03 +00:00
tutorial Fix PGXS conventions so that extensions can be built against Postgres 2007-06-26 22:05:04 +00:00
DEVELOPERS Testing commit stuff 2006-07-10 15:50:02 +00:00
Makefile Remove remains of old depend target. 2007-01-20 17:16:17 +00:00
Makefile.global.in Fix PGXS conventions so that extensions can be built against Postgres 2007-06-26 22:05:04 +00:00
Makefile.shlib Change $(CC) to $(COMPILER) on Solaris gcc so -m64 is passed into the 2007-02-20 22:45:57 +00:00
bcc32.mak Remove old-style win32 client-only visual c++ build infrastructure for everything except 2007-03-05 14:18:38 +00:00
nls-global.mk When merging PO files, take into consideration translations in other PO 2006-04-05 13:40:15 +00:00
win32.mak Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00