Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*
*** 121,138 ****
char *name;
uint16_t kssl_suites[CIPHER_SUITE_COUNT];
} mech_to_cipher_t;
#define KSSL_ENTRY_REFHOLD(kssl_entry) { \
! atomic_add_32(&(kssl_entry)->ke_refcnt, 1); \
ASSERT((kssl_entry)->ke_refcnt != 0); \
}
#define KSSL_ENTRY_REFRELE(kssl_entry) { \
ASSERT((kssl_entry)->ke_refcnt != 0); \
membar_exit(); \
! if (atomic_add_32_nv(&(kssl_entry)->ke_refcnt, -1) == 0) { \
kssl_free_entry((kssl_entry)); \
} \
}
#define CRYPTO_ERR(r) ((r) != CRYPTO_SUCCESS && (r) != CRYPTO_QUEUED)
--- 121,138 ----
char *name;
uint16_t kssl_suites[CIPHER_SUITE_COUNT];
} mech_to_cipher_t;
#define KSSL_ENTRY_REFHOLD(kssl_entry) { \
! atomic_inc_32(&(kssl_entry)->ke_refcnt); \
ASSERT((kssl_entry)->ke_refcnt != 0); \
}
#define KSSL_ENTRY_REFRELE(kssl_entry) { \
ASSERT((kssl_entry)->ke_refcnt != 0); \
membar_exit(); \
! if (atomic_dec_32_nv(&(kssl_entry)->ke_refcnt) == 0) { \
kssl_free_entry((kssl_entry)); \
} \
}
#define CRYPTO_ERR(r) ((r) != CRYPTO_SUCCESS && (r) != CRYPTO_QUEUED)