Acquire spinlock when updating 2PC slot data during logical decoding creation

The creation of a logical decoding context in CreateDecodingContext()
updates some data of its slot for two-phase transactions if enabled by
the caller, but the code forgot to acquire a spinlock when updating
these fields like any other code paths.  This could lead to the read of
inconsistent data.

Oversight in a8fd13c.

Author: Sawada Masahiko
Discussion: 
https://postgr.es/m/cad21aoad8_fp47191lkuecjdd3dyhoq4taucfco1_ter_jq...@mail.gmail.com
Backpatch-through: 15

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5ad165d2c024ae2fdc0a5ddd17522d5c92d7aa1a

Modified Files
--------------
src/backend/replication/logical/logical.c | 2 ++
1 file changed, 2 insertions(+)

Reply via email to