]> xenbits.xensource.com Git - libvirt.git/commitdiff
src: Replace virAtomicIntInc() with g_atomic_int_add()
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 31 Jan 2020 16:04:24 +0000 (17:04 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Sun, 2 Feb 2020 15:36:54 +0000 (16:36 +0100)
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/libxl/libxl_domain.c
src/libxl/libxl_driver.c
src/lxc/lxc_process.c
src/nwfilter/nwfilter_dhcpsnoop.c
src/qemu/qemu_process.c
src/util/viratomic.h
src/util/virobject.c
src/util/virprocess.c

index d63eca0bd66c56bddb466f88fdf33206d2fdffcf..8885af451fe8c15fb6c1bd3714555f3b5d66a84e 100644 (file)
@@ -1471,7 +1471,7 @@ libxlDomainStart(libxlDriverPrivatePtr driver,
     if (virDomainObjSave(vm, driver->xmlopt, cfg->stateDir) < 0)
         goto destroy_dom;
 
-    if (virAtomicIntInc(&driver->nactive) == 0 && driver->inhibitCallback)
+    if (g_atomic_int_add(&driver->nactive, 1) == 0 && driver->inhibitCallback)
         driver->inhibitCallback(true, driver->inhibitOpaque);
 
     /* finally we can call the 'started' hook script if any */
index da9a640db54173e9ea09cae5aaee16073230d306..41cbb67e3ab930606c866afc5c001e5cb062c3f7 100644 (file)
@@ -446,7 +446,7 @@ libxlReconnectDomain(virDomainObjPtr vm,
         virDomainObjSetState(vm, VIR_DOMAIN_RUNNING,
                              VIR_DOMAIN_RUNNING_UNKNOWN);
 
-    if (virAtomicIntInc(&driver->nactive) == 0 && driver->inhibitCallback)
+    if (g_atomic_int_add(&driver->nactive, 1) == 0 && driver->inhibitCallback)
         driver->inhibitCallback(true, driver->inhibitOpaque);
 
     /* Enable domain death events */
index 2e860e2fae525cb925f78a428f8c4aef7020f3ac..2bb2216dc04ba7a4a985d94378ec6f7dd2b71980 100644 (file)
@@ -1468,7 +1468,7 @@ int virLXCProcessStart(virConnectPtr conn,
     if (virCommandHandshakeNotify(cmd) < 0)
         goto cleanup;
 
-    if (virAtomicIntInc(&driver->nactive) == 0 && driver->inhibitCallback)
+    if (g_atomic_int_add(&driver->nactive, 1) == 0 && driver->inhibitCallback)
         driver->inhibitCallback(true, driver->inhibitOpaque);
 
     if (lxcContainerWaitForContinue(handshakefds[0]) < 0) {
@@ -1670,7 +1670,7 @@ virLXCProcessReconnectDomain(virDomainObjPtr vm,
         virDomainObjSetState(vm, VIR_DOMAIN_RUNNING,
                              VIR_DOMAIN_RUNNING_UNKNOWN);
 
-        if (virAtomicIntInc(&driver->nactive) == 0 && driver->inhibitCallback)
+        if (g_atomic_int_add(&driver->nactive, 1) == 0 && driver->inhibitCallback)
             driver->inhibitCallback(true, driver->inhibitOpaque);
 
         if (!(priv->monitor = virLXCProcessConnectMonitor(driver, vm)))
index b82779609d570c36188c9f1665f216869d49889e..f73913ec9e78dda2d24bff79a9158733f1b2aff6 100644 (file)
@@ -541,7 +541,7 @@ virNWFilterSnoopReqLeaseTimerRun(virNWFilterSnoopReqPtr req)
 static void
 virNWFilterSnoopReqGet(virNWFilterSnoopReqPtr req)
 {
-    virAtomicIntInc(&req->refctr);
+    g_atomic_int_add(&req->refctr, 1);
 }
 
 /*
@@ -756,7 +756,7 @@ virNWFilterSnoopReqLeaseAdd(virNWFilterSnoopReqPtr req,
     /* put the lease on the req's list */
     virNWFilterSnoopIPLeaseTimerAdd(pl);
 
-    virAtomicIntInc(&virNWFilterSnoopState.nLeases);
+    g_atomic_int_add(&virNWFilterSnoopState.nLeases, 1);
 
  exit:
     if (update_leasefile)
@@ -1172,7 +1172,7 @@ virNWFilterSnoopDHCPDecodeJobSubmit(virThreadPoolPtr pool,
     ret = virThreadPoolSendJob(pool, 0, job);
 
     if (ret == 0)
-        virAtomicIntInc(qCtr);
+        g_atomic_int_add(qCtr, 1);
     else
         VIR_FREE(job);
 
@@ -1649,7 +1649,7 @@ virNWFilterDHCPSnoopReq(virNWFilterTechDriverPtr techdriver,
 
     threadPuts = true;
 
-    virAtomicIntInc(&virNWFilterSnoopState.nThreads);
+    g_atomic_int_add(&virNWFilterSnoopState.nThreads, 1);
 
     req->threadkey = virNWFilterSnoopActivate(req);
     if (!req->threadkey) {
@@ -1777,7 +1777,7 @@ virNWFilterSnoopLeaseFileSave(virNWFilterSnoopIPLeasePtr ipl)
         goto err_exit;
 
     /* keep dead leases at < ~95% of file size */
-    if (virAtomicIntInc(&virNWFilterSnoopState.wLeases) >=
+    if (g_atomic_int_add(&virNWFilterSnoopState.wLeases, 1) >=
         g_atomic_int_get(&virNWFilterSnoopState.nLeases) * 20)
         virNWFilterSnoopLeaseFileLoad();   /* load & refresh lease file */
 
index 57a60c568ad655594c491a41f0aed52adab91b5c..20c4e3bb5d421b436e4d06277bc0f217c61a480f 100644 (file)
@@ -5571,7 +5571,7 @@ qemuProcessInit(virQEMUDriverPtr driver,
         qemuDomainSetFakeReboot(driver, vm, false);
         virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_STARTING_UP);
 
-        if (virAtomicIntInc(&driver->nactive) == 0 && driver->inhibitCallback)
+        if (g_atomic_int_add(&driver->nactive, 1) == 0 && driver->inhibitCallback)
             driver->inhibitCallback(true, driver->inhibitOpaque);
 
         /* Run an early hook to set-up missing devices */
@@ -8146,7 +8146,7 @@ qemuProcessReconnect(void *opaque)
             goto error;
     }
 
-    if (virAtomicIntInc(&driver->nactive) == 0 && driver->inhibitCallback)
+    if (g_atomic_int_add(&driver->nactive, 1) == 0 && driver->inhibitCallback)
         driver->inhibitCallback(true, driver->inhibitOpaque);
 
  cleanup:
index 2811447a296d87d90b4ae0866576a17ae31c1806..152cfcd9039775ff34a8e252696217eb40ed38b3 100644 (file)
 
 #include "internal.h"
 
-/**
- * virAtomicIntInc:
- * Increments the value of atomic by 1.
- *
- * Think of this operation as an atomic version of
- * { tmp = *atomic; *atomic += 1; return tmp; }
- *
- * This call acts as a full compiler and hardware memory barrier.
- */
-#define virAtomicIntInc(i) g_atomic_int_add(i, 1)
-
 /**
  * virAtomicIntDecAndTest:
  * Decrements the value of atomic by 1.
index 8cece6e735da0218e6355811c1c9aab252ad7d46..9185d3e92ee4871cb2e8fe8cb62e180f48b867ff 100644 (file)
@@ -182,7 +182,7 @@ virClassNew(virClassPtr parent,
         goto error;
 
     klass->parent = parent;
-    klass->magic = virAtomicIntInc(&magicCounter);
+    klass->magic = g_atomic_int_add(&magicCounter, 1);
     if (klass->magic > 0xCAFEFFFF) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("too many object classes defined"));
@@ -382,7 +382,7 @@ virObjectRef(void *anyobj)
 
     if (VIR_OBJECT_NOTVALID(obj))
         return NULL;
-    virAtomicIntInc(&obj->u.s.refs);
+    g_atomic_int_add(&obj->u.s.refs, 1);
     PROBE(OBJECT_REF, "obj=%p", obj);
     return anyobj;
 }
index 60419538e20fb9685ca7da42bfb5333478447b33..689db4f19d4d898b9a6db727755d9f6be6a99fa5 100644 (file)
@@ -1048,7 +1048,7 @@ int virProcessGetStartTime(pid_t pid,
                            unsigned long long *timestamp)
 {
     static int warned;
-    if (virAtomicIntInc(&warned) == 0) {
+    if (g_atomic_int_add(&warned, 1) == 0) {
         VIR_WARN("Process start time of pid %lld not available on this platform",
                  (long long) pid);
     }