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

@@ -377,11 +377,11 @@
 static void
 evch_gevent_free(evch_gevent_t *evp)
 {
         int32_t refcnt;
 
-        refcnt = (int32_t)atomic_add_32_nv(&evp->ge_refcount, -1);
+        refcnt = (int32_t)atomic_dec_32_nv(&evp->ge_refcount);
         if (refcnt <= 0) {
                 if (evp->ge_destruct != NULL) {
                         evp->ge_destruct((void *)&(evp->ge_payload),
                             evp->ge_dstcookie);
                 }

@@ -645,11 +645,11 @@
         if (qep == NULL) {
                 return (-1);
         }
         qep->q_objref = (void *)evp;
         qep->q_objsize = size;
-        atomic_add_32(&evp->ge_refcount, 1);
+        atomic_inc_32(&evp->ge_refcount);
         mutex_enter(&eqp->eq_queuemx);
         evch_q_in(&eqp->eq_eventq, qep);
 
         /* Wakeup delivery thread */
         cv_signal(&eqp->eq_thrsleepcv);