Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit51f9ea2

Browse files
committed
Allow interrupting GetMultiXactIdMembers
This function has a loop which can lead to uninterruptible process"stalls" (actually infinite loops) when some bugs are triggered. Avoidthat unpleasant situation by adding a check for interrupts in a placethat shouldn't degrade performance in the normal case.Backpatch to 9.3. Older branches have an identical loop here, but theaforementioned bugs are only a problem starting in 9.3 so there doesn'tseem to be any point in backpatching any further.
1 parent0c5af0a commit51f9ea2

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

‎src/backend/access/transam/multixact.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1278,6 +1278,7 @@ GetMultiXactIdMembers(MultiXactId multi, MultiXactMember **members,
12781278
{
12791279
/* Corner case 2: next multixact is still being filled in */
12801280
LWLockRelease(MultiXactOffsetControlLock);
1281+
CHECK_FOR_INTERRUPTS();
12811282
pg_usleep(1000L);
12821283
gotoretry;
12831284
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp