mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
test: Use atomic access to @nextDomID in struct virTestDriver
This commit is contained in:
parent
beba6a0ec8
commit
c1a34c87ea
@ -59,6 +59,7 @@
|
||||
#include "virstring.h"
|
||||
#include "cpu/cpu.h"
|
||||
#include "virauth.h"
|
||||
#include "viratomic.h"
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_TEST
|
||||
|
||||
@ -95,7 +96,6 @@ typedef struct _testAuth *testAuthPtr;
|
||||
struct _testDriver {
|
||||
virMutex lock;
|
||||
|
||||
int nextDomID;
|
||||
virNodeInfo nodeInfo;
|
||||
virInterfaceObjList ifaces;
|
||||
bool transaction_running;
|
||||
@ -107,6 +107,9 @@ struct _testDriver {
|
||||
size_t numAuths;
|
||||
testAuthPtr auths;
|
||||
|
||||
/* virAtomic access only */
|
||||
volatile int nextDomID;
|
||||
|
||||
/* immutable pointer, immutable object after being initialized with
|
||||
* testBuildCapabilities */
|
||||
virCapsPtr caps;
|
||||
@ -417,7 +420,7 @@ testDriverNew(void)
|
||||
!(ret->networks = virNetworkObjListNew()))
|
||||
goto error;
|
||||
|
||||
ret->nextDomID = 1;
|
||||
virAtomicIntSet(&ret->nextDomID, 1);
|
||||
|
||||
return ret;
|
||||
|
||||
@ -712,7 +715,7 @@ testDomainStartState(testDriverPtr privconn,
|
||||
goto cleanup;
|
||||
|
||||
virDomainObjSetState(dom, VIR_DOMAIN_RUNNING, reason);
|
||||
dom->def->id = privconn->nextDomID++;
|
||||
dom->def->id = virAtomicIntAdd(&privconn->nextDomID, 1);
|
||||
|
||||
if (virDomainObjSetDefTransient(privconn->caps,
|
||||
privconn->xmlopt,
|
||||
|
Loading…
x
Reference in New Issue
Block a user