]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Add CHECK_FOR_INTERRUPTS while decoding changes.
authorAmit Kapila <akapila@postgresql.org>
Tue, 23 Aug 2022 03:12:51 +0000 (08:42 +0530)
committerAmit Kapila <akapila@postgresql.org>
Tue, 23 Aug 2022 03:12:51 +0000 (08:42 +0530)
While decoding changes in a loop, if we skip all the changes there is no
CFI making the loop uninterruptible.

Reported-by: Whale Song and Andrey Borodin
Bug: 17580
Author: Masahiko Sawada
Reviwed-by: Amit Kapila
Backpatch-through: 10
Discussion: https://postgr.es/m/17580-849c1d5b6d7eb422@postgresql.org
Discussion: https://postgr.es/m/B319ECD6-9A28-4CDF-A8F4-3591E0BF2369@yandex-team.ru

src/backend/replication/logical/reorderbuffer.c

index 6c9b5dbced8a2cebb04162ad07988829b020024f..1e297abf8d6613a24bb536861c77b260f15620e8 100644 (file)
@@ -1517,6 +1517,8 @@ ReorderBufferCommit(ReorderBuffer *rb, TransactionId xid,
                        Relation        relation = NULL;
                        Oid                     reloid;
 
+                       CHECK_FOR_INTERRUPTS();
+
                        switch (change->action)
                        {
                                case REORDER_BUFFER_CHANGE_INTERNAL_SPEC_CONFIRM: