Allow interrupting GetMultiXactIdMembers

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: d45e8dc527f9e66c56dd91ae3e79eac1b094b96e
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2014-11-14T18:14:02Z
Releases: 9.3.6
Allow interrupting GetMultiXactIdMembers

This function has a loop which can lead to uninterruptible process
"stalls" (actually infinite loops) when some bugs are triggered.  Avoid
that unpleasant situation by adding a check for interrupts in a place
that shouldn't degrade performance in the normal case.

Backpatch to 9.3.  Older branches have an identical loop here, but the
aforementioned bugs are only a problem starting in 9.3 so there doesn't
seem to be any point in backpatching any further.

Files

PathChange+/−
src/backend/access/transam/multixact.c modified +1 −0