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

*** 119,138 **** * Put a hold on a label structure. */ void label_hold(ts_label_t *lab) { ! atomic_add_32(&lab->tsl_ref, 1); } /* * Release previous hold on a label structure. Free it if refcnt == 0. */ void label_rele(ts_label_t *lab) { ! if (atomic_add_32_nv(&lab->tsl_ref, -1) == 0) kmem_cache_free(tslabel_cache, lab); } bslabel_t * label2bslabel(ts_label_t *lab) --- 119,138 ---- * Put a hold on a label structure. */ void label_hold(ts_label_t *lab) { ! atomic_inc_32(&lab->tsl_ref); } /* * Release previous hold on a label structure. Free it if refcnt == 0. */ void label_rele(ts_label_t *lab) { ! if (atomic_dec_32_nv(&lab->tsl_ref) == 0) kmem_cache_free(tslabel_cache, lab); } bslabel_t * label2bslabel(ts_label_t *lab)