#define VIR_FROM_THIS VIR_FROM_NWFILTER
-static virMutex ipAddressMapLock;
+static virMutex ipAddressMapLock = VIR_MUTEX_INITIALIZER;
static virNWFilterHashTablePtr ipAddressMap;
if (!ipAddressMap)
return -1;
- if (virMutexInit(&ipAddressMapLock) < 0) {
- virNWFilterIPAddrMapShutdown();
- return -1;
- }
-
return 0;
}
}
static bool wantReboot = false;
-static virMutex lock;
+static virMutex lock = VIR_MUTEX_INITIALIZER;
static void virLXCControllerSignalChildIO(virNetServerPtr server,
int rc = -1;
size_t i;
- if (virMutexInit(&lock) < 0)
- goto cleanup2;
-
if (virNetServerAddSignalHandler(ctrl->server,
SIGCHLD,
virLXCControllerSignalChildIO,
rc = wantReboot ? 1 : 0;
cleanup:
- virMutexDestroy(&lock);
- cleanup2:
-
for (i = 0; i < ctrl->nconsoles; i++)
virLXCControllerConsoleClose(&(ctrl->consoles[i]));
static void ebtablesCleanAll(const char *ifname);
static int ebiptablesAllTeardown(const char *ifname);
-static virMutex execCLIMutex;
+static virMutex execCLIMutex = VIR_MUTEX_INITIALIZER;
struct ushort_map {
unsigned short attr;
if (!privileged)
return 0;
- if (virMutexInit(&execCLIMutex) < 0)
- return -EINVAL;
-
grep_cmd_path = virFindFileInPath("grep");
/*
} ATTRIBUTE_PACKED;
-static virMutex pendingLearnReqLock;
+static virMutex pendingLearnReqLock = VIR_MUTEX_INITIALIZER;
static virHashTablePtr pendingLearnReq;
-static virMutex ifaceMapLock;
+static virMutex ifaceMapLock = VIR_MUTEX_INITIALIZER;
static virHashTablePtr ifaceLockMap;
typedef struct _virNWFilterIfaceLock virNWFilterIfaceLock;
return -1;
}
- if (virMutexInit(&pendingLearnReqLock) < 0) {
- virNWFilterLearnShutdown();
- return -1;
- }
-
ifaceLockMap = virHashCreate(0, virHashValueFree);
if (!ifaceLockMap) {
virNWFilterLearnShutdown();
return -1;
}
- if (virMutexInit(&ifaceMapLock) < 0) {
- virNWFilterLearnShutdown();
- return -1;
- }
-
return 0;
}
static testConn defaultConn;
static int defaultConnections;
-static virMutex defaultLock;
+static virMutex defaultLock = VIR_MUTEX_INITIALIZER;
#define TEST_MODEL "i686"
#define TEST_MODEL_WORDSIZE 32
static void testObjectEventQueue(testConnPtr driver,
virObjectEventPtr event);
-static int
-testOnceInit(void)
-{
- return virMutexInit(&defaultLock);
-}
-
-VIR_ONCE_GLOBAL_INIT(test)
-
-
static void testDriverLock(testConnPtr driver)
{
virMutexLock(&driver->lock);
virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
- if (testInitialize() < 0)
- return VIR_DRV_OPEN_ERROR;
-
if (!conn->uri)
return VIR_DRV_OPEN_DECLINED;
{
testConnPtr privconn = conn->privateData;
- if (testInitialize() < 0)
- return -1;
-
if (privconn == &defaultConn) {
virMutexLock(&defaultLock);
if (--defaultConnections) {
# define MACVLAN_NAME_PREFIX "macvlan"
# define MACVLAN_NAME_PATTERN "macvlan%d"
-virMutex virNetDevMacVLanCreateMutex;
-
-static int virNetDevMacVLanCreateMutexOnceInit(void)
-{
- if (virMutexInit(&virNetDevMacVLanCreateMutex) < 0) {
- virReportSystemError(errno, "%s", _("unable to init mutex"));
- return -1;
- }
- return 0;
-}
-
-VIR_ONCE_GLOBAL_INIT(virNetDevMacVLanCreateMutex);
+virMutex virNetDevMacVLanCreateMutex = VIR_MUTEX_INITIALIZER;
/**
* virNetDevMacVLanCreate:
} else {
create_name:
retries = 5;
- if (virNetDevMacVLanCreateMutexInitialize() < 0)
- return -1;
virMutexLock(&virNetDevMacVLanCreateMutex);
for (c = 0; c < 8192; c++) {
snprintf(ifname, sizeof(ifname), pattern, c);
/* Functions */
-virMutex virNetDevVethCreateMutex;
-
-static int virNetDevVethCreateMutexOnceInit(void)
-{
- if (virMutexInit(&virNetDevVethCreateMutex) < 0) {
- virReportSystemError(errno, "%s", _("unable to init mutex"));
- return -1;
- }
- return 0;
-}
-
-VIR_ONCE_GLOBAL_INIT(virNetDevVethCreateMutex);
+virMutex virNetDevVethCreateMutex = VIR_MUTEX_INITIALIZER;
static int virNetDevVethExists(int devNum)
{
* We might race with other containers, but this is reasonably
* unlikely, so don't do too many retries for device creation
*/
- if (virNetDevVethCreateMutexInitialize() < 0)
- return -1;
-
virMutexLock(&virNetDevVethCreateMutex);
#define MAX_VETH_RETRIES 10
static unsigned int nodeSuspendTargetMask;
static bool nodeSuspendTargetMaskInit;
-static virMutex virNodeSuspendMutex;
+static virMutex virNodeSuspendMutex = VIR_MUTEX_INITIALIZER;
static bool aboutToSuspend;
}
-static int virNodeSuspendOnceInit(void)
-{
- if (virMutexInit(&virNodeSuspendMutex) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Unable to initialize mutex"));
- return -1;
- }
-
- return 0;
-}
-
-VIR_ONCE_GLOBAL_INIT(virNodeSuspend)
-
-
/**
* virNodeSuspendSetNodeWakeup:
* @alarmTime: time in seconds from now, at which the RTC alarm has to be set.
virCheckFlags(0, -1);
- if (virNodeSuspendInitialize() < 0)
- return -1;
-
if (virNodeSuspendGetTargetMask(&supported) < 0)
return -1;
int status;
int ret = -1;
- if (virNodeSuspendInitialize() < 0)
- return -1;
-
*supported = false;
switch (target) {
static char randomState[RANDOM_STATE_SIZE];
static struct random_data randomData;
-static virMutex randomLock;
+static virMutex randomLock = VIR_MUTEX_INITIALIZER;
static int
return -1;
#endif
- if (virMutexInit(&randomLock) < 0)
- return -1;
-
if (initstate_r(seed,
randomState,
sizeof(randomState),
};
+# define VIR_MUTEX_INITIALIZER \
+ { \
+ .lock = PTHREAD_MUTEX_INITIALIZER \
+ }
+
# define VIR_ONCE_CONTROL_INITIALIZER \
{ \
.once = PTHREAD_ONCE_INIT \