aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2017-08-17 00:48:44 +0300
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2017-08-17 00:48:44 +0300
commitdcd052c8d20c5359c55f2a101f10a8e6341233cd (patch)
treed9af1cecd500450a9fa708c5523988d9864f9311 /src
parentec0a69e49bf41a37b5c2d6f6be66d8abae00ee05 (diff)
downloadpostgresql-dcd052c8d20c5359c55f2a101f10a8e6341233cd.tar.gz
postgresql-dcd052c8d20c5359c55f2a101f10a8e6341233cd.zip
Fix pg_atomic_u64 initialization.
As Andres pointed out, pg_atomic_init_u64 must be used to initialize an atomic variable, before it can be accessed with the actual atomic ops. Trying to use pg_atomic_write_u64 on an uninitialized variable leads to a failure with the fallback implementation that uses a spinlock. Discussion: https://www.postgresql.org/message-id/20170816191346.d3ke5tpshhco4bnd%40alap3.anarazel.de
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/heap/heapam.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index 7dea8472c17..8792f1453cb 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -1638,7 +1638,7 @@ heap_parallelscan_initialize(ParallelHeapScanDesc target, Relation relation,
target->phs_nblocks > NBuffers / 4;
SpinLockInit(&target->phs_mutex);
target->phs_startblock = InvalidBlockNumber;
- pg_atomic_write_u64(&target->phs_nallocated, 0);
+ pg_atomic_init_u64(&target->phs_nallocated, 0);
SerializeSnapshot(snapshot, target->phs_snapshot_data);
}