pgsql: Revise postmaster startup/shutdown logic to eliminate the problem - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Revise postmaster startup/shutdown logic to eliminate the problem
Date
Msg-id 20070809011843.496899FB45F@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
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.

Modified Files:
--------------
    pgsql/src/backend/postmaster:
        postmaster.c (r1.539 -> r1.540)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/postmaster.c.diff?r1=1.539&r2=1.540)

pgsql-committers by date:

Previous
From: neilc@postgresql.org (Neil Conway)
Date:
Subject: pgsql: Fix a gradual memory leak in ExecReScanAgg().
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix search for SGML stylesheets to include the place where Gentoo