pgsql: Centralize libpq's low-level code for dropping a connection. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Centralize libpq's low-level code for dropping a connection.
Date
Msg-id E1TA4lC-0007Kb-0B@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Centralize libpq's low-level code for dropping a connection.

Create an internal function pqDropConnection that does the physical socket
close and cleans up closely-associated state.  This removes a bunch of ad
hoc, not always consistent closure code.  The ulterior motive is to have a
single place to wait for a spawned child backend to exit, but this seems
like good cleanup even if that never happens.

I went back and forth on whether to include "conn->status = CONNECTION_BAD"
in pqDropConnection's actions, but for the moment decided not to.  Only a
minority of the call sites actually want that, and in any case it's
arguable that conn->status is slightly higher-level state, and thus not
part of this function's purview.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/210eb9b743c0645df05e5c8be4490ba4f09fc871

Modified Files
--------------
src/interfaces/libpq/fe-connect.c   |   95 +++++++++++++----------------------
src/interfaces/libpq/fe-misc.c      |    5 +--
src/interfaces/libpq/fe-protocol3.c |    4 +-
src/interfaces/libpq/libpq-int.h    |    1 +
4 files changed, 38 insertions(+), 67 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Stamp 9.2.0.
Next
From: pgsql@postgresql.org
Date:
Subject: pgsql: Tag refs/tags/REL9_2_0 was created