pgsql: Fix nested error handling in PG_FINALLY

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix nested error handling in PG_FINALLY
Date: 2019-11-07 09:08:28
Message-ID: E1iSdmG-0003Rx-Em@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix nested error handling in PG_FINALLY

We need to pop the error stack before running the user-supplied
PG_FINALLY code. Otherwise an error in the cleanup code would end up
at the same sigsetjmp() invocation and result in an infinite error
handling loop.

Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Discussion: https://www.postgresql.org/message-id/flat/95a822c3-728b-af0e-d7e5-71890507ae0c%402ndquadrant.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/581a55889ba7f76dd87a270e37e5137f684bfdb7

Modified Files
--------------
src/backend/utils/adt/xml.c | 2 +-
src/include/utils/elog.h | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2019-11-07 12:31:08 pgsql: Remove HAVE_LONG_LONG_INT
Previous Message Fujii Masao 2019-11-07 07:35:45 pgsql: Fix assertion failure when running pgbench -s.