Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*
*** 77,93 ****
}
void
ksiddomain_hold(ksiddomain_t *kd)
{
! atomic_add_32(&kd->kd_ref, 1);
}
void
ksiddomain_rele(ksiddomain_t *kd)
{
! if (atomic_add_32_nv(&kd->kd_ref, -1) == 0) {
/*
* The kd reference can only be incremented from 0 when
* the sid_lock is held; so we lock and then check need to
* check for 0 again.
*/
--- 77,93 ----
}
void
ksiddomain_hold(ksiddomain_t *kd)
{
! atomic_inc_32(&kd->kd_ref);
}
void
ksiddomain_rele(ksiddomain_t *kd)
{
! if (atomic_dec_32_nv(&kd->kd_ref) == 0) {
/*
* The kd reference can only be incremented from 0 when
* the sid_lock is held; so we lock and then check need to
* check for 0 again.
*/
*** 102,118 ****
}
void
ksidlist_hold(ksidlist_t *ksl)
{
! atomic_add_32(&ksl->ksl_ref, 1);
}
void
ksidlist_rele(ksidlist_t *ksl)
{
! if (atomic_add_32_nv(&ksl->ksl_ref, -1) == 0) {
int i;
for (i = 0; i < ksl->ksl_nsid; i++)
ksid_rele(&ksl->ksl_sids[i]);
--- 102,118 ----
}
void
ksidlist_hold(ksidlist_t *ksl)
{
! atomic_inc_32(&ksl->ksl_ref);
}
void
ksidlist_rele(ksidlist_t *ksl)
{
! if (atomic_dec_32_nv(&ksl->ksl_ref) == 0) {
int i;
for (i = 0; i < ksl->ksl_nsid; i++)
ksid_rele(&ksl->ksl_sids[i]);
*** 259,275 ****
}
void
kcrsid_hold(credsid_t *kcr)
{
! atomic_add_32(&kcr->kr_ref, 1);
}
void
kcrsid_rele(credsid_t *kcr)
{
! if (atomic_add_32_nv(&kcr->kr_ref, -1) == 0) {
ksid_index_t i;
for (i = 0; i < KSID_COUNT; i++)
ksid_rele(&kcr->kr_sidx[i]);
--- 259,275 ----
}
void
kcrsid_hold(credsid_t *kcr)
{
! atomic_inc_32(&kcr->kr_ref);
}
void
kcrsid_rele(credsid_t *kcr)
{
! if (atomic_dec_32_nv(&kcr->kr_ref) == 0) {
ksid_index_t i;
for (i = 0; i < KSID_COUNT; i++)
ksid_rele(&kcr->kr_sidx[i]);