Further second thoughts about idle_session_timeout patch.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: f2a69e90472f9a78b1d57bcfda4f2cb15ede2ab2
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2021-01-07T16:45:09Z
Releases: 12.6
Further second thoughts about idle_session_timeout patch.

On reflection, the order of operations in PostgresMain() is wrong.
These timeouts ought to be shut down before, not after, we do the
post-command-read CHECK_FOR_INTERRUPTS, to guarantee that any
timeout error will be detected there rather than at some ill-defined
later point (possibly after having wasted a lot of work).

This is really an error in the original idle_in_transaction_timeout
patch, so back-patch to 9.6 where that was introduced.

Files

PathChange+/−
src/backend/tcop/postgres.c modified +12 −10