aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/regexp.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-08-09 01:18:43 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-08-09 01:18:43 +0000
commitbbe3c02d3833f431aaf3271b26a3dfe5d922ddc0 (patch)
tree5b381786b3af1dd7ad5f71062e1187fe0b898682 /src/backend/utils/adt/regexp.c
parentc556b29a1199babc672b81065fe74fb50657c451 (diff)
downloadpostgresql-bbe3c02d3833f431aaf3271b26a3dfe5d922ddc0.tar.gz
postgresql-bbe3c02d3833f431aaf3271b26a3dfe5d922ddc0.zip
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.
Diffstat (limited to 'src/backend/utils/adt/regexp.c')
0 files changed, 0 insertions, 0 deletions