• Tom Lane's avatar
    Adjust spin.c's spinlock emulation so that 0 is not a valid spinlock value. · 4039c736
    Tom Lane authored
    We've had repeated troubles over the years with failures to initialize
    spinlocks correctly; see 6b93fcd1 for a recent example.  Most of the time,
    on most platforms, such oversights can escape notice because all-zeroes is
    the expected initial content of an slock_t variable.  The only platform
    we have where the initialized state of an slock_t isn't zeroes is HPPA,
    and that's practically gone in the wild.  To make it easier to catch such
    errors without needing one of those, adjust the --disable-spinlocks code
    so that zero is not a valid value for an slock_t for it.
    
    In passing, remove a bunch of unnecessary #include's from spin.c;
    commit daa7527a removed all the intermodule coupling that
    made them necessary.
    4039c736
spin.c 3.12 KB