postgresql/src/include
Andres Freund de4a259896 Avoid need for valgrind suppressions for pg_atomic_init_u64 on some platforms.
Previously we used pg_atomic_write_64_impl inside
pg_atomic_init_u64. That works correctly, but on platforms without
64bit single copy atomicity it could trigger spurious valgrind errors
about uninitialized memory, because we use compare_and_swap for atomic
writes on such platforms.

I previously suppressed one instance of this problem (6c878edc1d),
but as Tom reports that wasn't enough. As the atomic variable cannot
yet be concurrently accessible during initialization, it seems better
to have pg_atomic_init_64_impl set the value directly.

Change pg_atomic_init_u32_impl for symmetry.

Reported-By: Tom Lane
Author: Andres Freund
Discussion: https://postgr.es/m/1714601.1591503815@sss.pgh.pa.us
Backpatch: 9.5-
2020-06-08 20:02:49 -07:00
..
access Fix crash in WAL sender when starting physical replication 2020-06-08 10:12:31 +09:00
bootstrap Update copyrights for 2020 2020-01-01 12:21:45 -05:00
catalog Make pg_stat_wal_receiver consistent with the WAL receiver's shmem info 2020-05-17 09:22:07 +09:00
commands Rename SLRU structures and associated LWLocks. 2020-05-15 14:28:25 -04:00
common Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
datatype Update copyrights for 2020 2020-01-01 12:21:45 -05:00
executor Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
fe_utils Reduce size of backend scanner's tables. 2020-01-13 15:04:31 -05:00
foreign Update copyrights for 2020 2020-01-01 12:21:45 -05:00
jit jit: Reference expression step functions via llvmjit_types. 2020-02-06 22:29:14 -08:00
lib Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
libpq Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
mb Allow Unicode escapes in any server encoding, not only UTF-8. 2020-03-06 14:17:43 -05:00
nodes Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
optimizer Support FETCH FIRST WITH TIES 2020-04-07 16:22:13 -04:00
parser Revert 0f5ca02f53 2020-04-08 11:37:27 +03:00
partitioning Allow partitionwise joins in more cases. 2020-04-08 10:25:00 +09:00
port Avoid need for valgrind suppressions for pg_atomic_init_u64 on some platforms. 2020-06-08 20:02:49 -07:00
portability Update copyrights for 2020 2020-01-01 12:21:45 -05:00
postmaster Trigger autovacuum based on number of INSERTs 2020-03-28 19:20:12 +13:00
regex Assume that we have <wchar.h>. 2020-02-21 14:30:47 -05:00
replication Spelling adjustments 2020-06-07 15:06:51 +02:00
rewrite Update copyrights for 2020 2020-01-01 12:21:45 -05:00
snowball Update copyrights for 2020 2020-01-01 12:21:45 -05:00
statistics Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
storage Spelling adjustments 2020-06-07 15:06:51 +02:00
tcop Allow the planner-related functions and hook to accept the query string. 2020-03-30 13:51:05 +09:00
tsearch Assume that we have <wchar.h>. 2020-02-21 14:30:47 -05:00
utils Improve ineq_histogram_selectivity's behavior for non-default orderings. 2020-06-05 16:55:27 -04:00
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
c.h Enable Unix-domain sockets support on Windows 2020-03-28 15:01:01 +01:00
fmgr.h Fix minor violations of FunctionCallInvoke usage protocol. 2020-04-21 14:23:53 -04:00
funcapi.h Avoid holding a directory FD open across assorted SRF calls. 2020-03-16 21:05:52 -04:00
getaddrinfo.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
getopt_long.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
Makefile Get rid of jsonpath_gram.h and jsonpath_scanner.h 2019-03-20 11:13:34 +03:00
miscadmin.h Add unlikely() to CHECK_FOR_INTERRUPTS() 2020-06-05 16:49:25 -04:00
pg_config.h.in Enable Unix-domain sockets support on Windows 2020-03-28 15:01:01 +01:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Remove ACLDEBUG #define and associated code. 2020-04-23 15:38:04 -04:00
pg_getopt.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pg_trace.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pgstat.h Mop-up for wait event naming issues. 2020-05-16 21:00:11 -04:00
pgtar.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pgtime.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
port.h Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
postgres.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
postgres_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postgres_fe.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
rusagestub.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
windowapi.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00