pgsql: Don't let libpq PGEVT_CONNRESET callbacks break a PGconn.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Don't let libpq PGEVT_CONNRESET callbacks break a PGconn.
Date: 2022-02-18 16:43:20
Message-ID: E1nL6Lo-0006pO-Oy@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Don't let libpq PGEVT_CONNRESET callbacks break a PGconn.

As currently implemented, failure of a PGEVT_CONNRESET callback
forces the PGconn into the CONNECTION_BAD state (without closing
the socket, which is inconsistent with other failure paths), and
prevents later callbacks from being called. This seems highly
questionable, and indeed is questioned by comments in the source.

Instead, let's just ignore the result value of PGEVT_CONNRESET
calls. Like the preceding commit, this converts event callbacks
into "pure observers" that cannot affect libpq's processing logic.

Discussion: https://postgr.es/m/3185105.1644960083@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2e372869aa38a9d6e4552c192da4454b17e01e38

Modified Files
--------------
doc/src/sgml/libpq.sgml | 11 +++++------
src/interfaces/libpq/fe-connect.c | 28 ++++++----------------------
2 files changed, 11 insertions(+), 28 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2022-02-18 18:53:10 pgsql: Add support for building with ZSTD.
Previous Message Christoph Berg 2022-02-18 09:39:09 Re: pgsql: pg_upgrade: Preserve relfilenodes and tablespace OIDs.