postgres.git / summary / log / commit / refs

commit    18f47989ecb0d63db34f8140cc335fec2543fe4a
Author:   Nathan Bossart <nathan@postgresql.org>
Date:     Wed Nov 15 21:04:18 2023 +0000
First released in: 17.0, 12.18, 13.14, 14.11, 15.6, 16.2

    Fix fallback implementation for pg_atomic_test_set_flag().
    
    The fallback implementation of pg_atomic_test_set_flag() that uses
    atomic-exchange gives pg_atomic_exchange_u32_impl() an extra
    argument.  This issue has been present since the introduction of
    the atomics API in commit b64d92f1a5.
    
    Reviewed-by: Andres Freund
    Discussion: https://postgr.es/m/20231114035439.GA1809032%40nathanxps13
    Backpatch-through: 12


src/include/port/atomics/generic.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/include/port/atomics/generic.h b/src/include/port/atomics/generic.h index a1f245624aa..d62428acf2a 100644 --- a/src/include/port/atomics/generic.h +++ b/src/include/port/atomics/generic.h @@ -83,7 +83,7 @@ pg_atomic_init_flag_impl(volatile pg_atomic_flag *ptr) static inline bool pg_atomic_test_set_flag_impl(volatile pg_atomic_flag *ptr) { - return pg_atomic_exchange_u32_impl(ptr, &value, 1) == 0; + return pg_atomic_exchange_u32_impl(ptr, 1) == 0; } #define PG_HAVE_ATOMIC_UNLOCKED_TEST_FLAG [parent: 63c1b4d88a6f]