aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2021-11-11 11:03:29 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2021-11-11 11:03:29 -0300
commit0726c764bc4ec337a0216a546ce41c758d81600d (patch)
tree9a57603a39341fc46849c8eebe9f4a98cdb3af22 /src
parentdb9f287711ac49d9799f93f664d6d101ff8f5891 (diff)
downloadpostgresql-0726c764bc4ec337a0216a546ce41c758d81600d.tar.gz
postgresql-0726c764bc4ec337a0216a546ce41c758d81600d.zip
Restore lock level to set vacuum flags
Commit 27838981be9d mistakenly reduced the lock level from exclusive to shared that is acquired to set PGPROC->statusFlags; this was reverted by dcfff74fb166, but failed to do so in one spot. Fix it. Backpatch to 14. Noted by Andres Freund. Discussion: https://postgr.es/m/20211111020724.ggsfhcq3krq5r4hb@alap3.anarazel.de
Diffstat (limited to 'src')
-rw-r--r--src/backend/replication/slot.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c
index 1c6c0c7ce27..e4f5c6fb362 100644
--- a/src/backend/replication/slot.c
+++ b/src/backend/replication/slot.c
@@ -512,7 +512,7 @@ ReplicationSlotRelease(void)
MyReplicationSlot = NULL;
/* might not have been set when we've been a plain slot */
- LWLockAcquire(ProcArrayLock, LW_SHARED);
+ LWLockAcquire(ProcArrayLock, LW_EXCLUSIVE);
MyProc->statusFlags &= ~PROC_IN_LOGICAL_DECODING;
ProcGlobal->statusFlags[MyProc->pgxactoff] = MyProc->statusFlags;
LWLockRelease(ProcArrayLock);