loongarch64: implement atomic_dec_and_test

It is used in criu/pie/restorer.c.

Signed-off-by: Andrei Vagin <avagin@google.com>
This commit is contained in:
Andrei Vagin 2026-03-12 15:40:01 +00:00 committed by Alexander Mikhalitsyn
parent 33639b5458
commit bbf3c691fd
No known key found for this signature in database
GPG key ID: B1F47F5CB05B4FA3

View file

@ -41,6 +41,8 @@ static inline int atomic_add_return(int i, atomic_t *v)
#define atomic_inc_return(v) atomic_add_return(1, v)
#define atomic_dec(v) atomic_sub(1, v)
#define atomic_dec_return(v) atomic_sub_return(1, v)
/* true if the result is 0, or false for all other cases. */
#define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0)
static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new)
{