Thread

  1. Re: small cleanup for s_lock.h

    Nathan Bossart <nathandbossart@gmail.com> — 2026-05-07T21:12:09Z

    On Thu, May 07, 2026 at 03:41:56PM -0500, Nathan Bossart wrote:
    > +/*
    > + * We can only define TAS_SPIN if TAS was defined.  Otherwise, the platform
    > + * defined its own S_LOCK without TAS, and therefore is responsible for
    > + * defining its own TAS_SPIN as well.  (Note that we currently do not have any
    > + * platforms that don't define TAS.)
    > + */
    >  #if !defined(TAS_SPIN)
    > +#if defined(TAS)
    >  #define TAS_SPIN(lock)	TAS(lock)
    > -#endif	 /* TAS_SPIN */
    > +#else
    > +#error Neither TAS nor TAS_SPIN defined on this platform.  Please report this to pgsql-bugs@lists.postgresql.org.
    > +#endif	 /* TAS */
    > +#endif	 /* ! TAS_SPIN */
    
    Wait, this isn't right.  TAS_SPIN is only used by s_lock(), which is only
    used by the default S_LOCK.  We should just not compile s_lock() if the
    platform defines its own S_LOCK, and we shouldn't #error here if TAS is not
    defined.
    
    -- 
    nathan