Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*

*** 718,735 **** ipl_pad_to_bit_31 : 31; } ipsec_latch_t; #define IPLATCH_REFHOLD(ipl) { \ ! atomic_add_32(&(ipl)->ipl_refcnt, 1); \ ASSERT((ipl)->ipl_refcnt != 0); \ } #define IPLATCH_REFRELE(ipl) { \ ASSERT((ipl)->ipl_refcnt != 0); \ membar_exit(); \ ! if (atomic_add_32_nv(&(ipl)->ipl_refcnt, -1) == 0) \ iplatch_free(ipl); \ } /* * peer identity structure. --- 718,735 ---- ipl_pad_to_bit_31 : 31; } ipsec_latch_t; #define IPLATCH_REFHOLD(ipl) { \ ! atomic_inc_32(&(ipl)->ipl_refcnt); \ ASSERT((ipl)->ipl_refcnt != 0); \ } #define IPLATCH_REFRELE(ipl) { \ ASSERT((ipl)->ipl_refcnt != 0); \ membar_exit(); \ ! if (atomic_dec_32_nv(&(ipl)->ipl_refcnt) == 0) \ iplatch_free(ipl); \ } /* * peer identity structure.