#endif
unsigned int flags;
struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client);
- int rv = -1;
#ifdef MODULE_NAME
const char *type = NULL;
#endif /* !MODULE_NAME */
bool preserveIdentity = false;
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
VIR_DEBUG("priv=%p conn=%p", priv, priv->conn);
- virMutexLock(&priv->lock);
/* Already opened? */
if (priv->conn) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection already open"));
* by default, but do accept RO flags, e.g. TCP
*/
virNetServerClientSetReadonly(client, (flags & VIR_CONNECT_RO));
- rv = 0;
+ return 0;
cleanup:
- if (rv < 0) {
- virNetMessageSaveError(rerr);
- if (priv->conn) {
- g_clear_pointer(&priv->conn, virObjectUnref);
- }
+ virNetMessageSaveError(rerr);
+ if (priv->conn) {
+ g_clear_pointer(&priv->conn, virObjectUnref);
}
- virMutexUnlock(&priv->lock);
- return rv;
+ return -1;
}
virNetSASLSession *sasl = NULL;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
VIR_DEBUG("Initialize SASL auth %d", virNetServerClientGetFD(client));
if (virNetServerClientGetAuth(client) != VIR_NET_SERVER_SERVICE_AUTH_SASL ||
VIR_DEBUG("Available mechanisms for client: '%s'", ret->mechlist);
priv->sasl = sasl;
- virMutexUnlock(&priv->lock);
return 0;
authfail:
"client=%p auth=%d",
client, REMOTE_AUTH_SASL);
virObjectUnref(sasl);
- virMutexUnlock(&priv->lock);
return -1;
}
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
const char *identity;
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
VIR_DEBUG("Start SASL auth %d", virNetServerClientGetFD(client));
if (virNetServerClientGetAuth(client) != VIR_NET_SERVER_SERVICE_AUTH_SASL ||
ret->complete = 1;
}
- virMutexUnlock(&priv->lock);
return 0;
authfail:
virReportError(VIR_ERR_AUTH_FAILED, "%s",
_("authentication failed"));
virNetMessageSaveError(rerr);
- virMutexUnlock(&priv->lock);
return -1;
}
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
const char *identity;
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
VIR_DEBUG("Step SASL auth %d", virNetServerClientGetFD(client));
if (virNetServerClientGetAuth(client) != VIR_NET_SERVER_SERVICE_AUTH_SASL ||
ret->complete = 1;
}
- virMutexUnlock(&priv->lock);
return 0;
authfail:
virReportError(VIR_ERR_AUTH_FAILED, "%s",
_("authentication failed"));
virNetMessageSaveError(rerr);
- virMutexUnlock(&priv->lock);
return -1;
}
#else
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
int rv;
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
- virMutexLock(&priv->lock);
action = virNetServerClientGetReadonly(client) ?
"org.libvirt.unix.monitor" :
"org.libvirt.unix.manage";
ret->complete = 1;
virNetServerSetClientAuthenticated(server, client);
- virMutexUnlock(&priv->lock);
-
return 0;
error:
virNetMessageSaveError(rerr);
- virMutexUnlock(&priv->lock);
return -1;
authfail:
virNetMessage *msg G_GNUC_UNUSED,
struct virNetMessageError *rerr)
{
- int rv = -1;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetHypervisorConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
goto cleanup;
priv->closeRegistered = true;
- rv = 0;
+ return 0;
cleanup:
- virMutexUnlock(&priv->lock);
- if (rv < 0)
- virNetMessageSaveError(rerr);
- return rv;
+ virNetMessageSaveError(rerr);
+ return -1;
}
static int
virNetMessage *msg G_GNUC_UNUSED,
struct virNetMessageError *rerr)
{
- int rv = -1;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetHypervisorConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
goto cleanup;
priv->closeRegistered = false;
- rv = 0;
+ return 0;
cleanup:
- virMutexUnlock(&priv->lock);
- if (rv < 0)
- virNetMessageSaveError(rerr);
- return rv;
+ virNetMessageSaveError(rerr);
+ return -1;
}
static int
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetHypervisorConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
rv = 0;
cleanup:
- virMutexUnlock(&priv->lock);
remoteEventCallbackFree(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
remote_connect_domain_event_deregister_ret *ret G_GNUC_UNUSED)
{
int callbackID = -1;
- int rv = -1;
size_t i;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetHypervisorConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
VIR_DELETE_ELEMENT(priv->domainEventCallbacks, i,
priv->ndomainEventCallbacks);
- rv = 0;
+ return 0;
cleanup:
- virMutexUnlock(&priv->lock);
- if (rv < 0)
- virNetMessageSaveError(rerr);
- return rv;
+ virNetMessageSaveError(rerr);
+ return -1;
}
static void
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetHypervisorConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
rv = 0;
cleanup:
- virMutexUnlock(&priv->lock);
remoteEventCallbackFree(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
virNetServerClientGetPrivateData(client);
virDomainPtr dom = NULL;
virConnectPtr conn = remoteGetHypervisorConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
rv = 0;
cleanup:
- virMutexUnlock(&priv->lock);
remoteEventCallbackFree(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
remote_connect_domain_event_deregister_any_args *args)
{
int callbackID = -1;
- int rv = -1;
size_t i;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetHypervisorConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
VIR_DELETE_ELEMENT(priv->domainEventCallbacks, i,
priv->ndomainEventCallbacks);
- rv = 0;
+ return 0;
cleanup:
- virMutexUnlock(&priv->lock);
- if (rv < 0)
- virNetMessageSaveError(rerr);
- return rv;
+ virNetMessageSaveError(rerr);
+ return -1;
}
struct virNetMessageError *rerr G_GNUC_UNUSED,
remote_connect_domain_event_callback_deregister_any_args *args)
{
- int rv = -1;
size_t i;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetHypervisorConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
VIR_DELETE_ELEMENT(priv->domainEventCallbacks, i,
priv->ndomainEventCallbacks);
- rv = 0;
+ return 0;
cleanup:
- virMutexUnlock(&priv->lock);
- if (rv < 0)
- virNetMessageSaveError(rerr);
- return rv;
+ virNetMessageSaveError(rerr);
+ return -1;
}
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetNetworkConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
rv = 0;
cleanup:
- virMutexUnlock(&priv->lock);
remoteEventCallbackFree(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
struct virNetMessageError *rerr G_GNUC_UNUSED,
remote_connect_network_event_deregister_any_args *args)
{
- int rv = -1;
size_t i;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetNetworkConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
VIR_DELETE_ELEMENT(priv->networkEventCallbacks, i,
priv->nnetworkEventCallbacks);
- rv = 0;
+ return 0;
cleanup:
- virMutexUnlock(&priv->lock);
- if (rv < 0)
- virNetMessageSaveError(rerr);
- return rv;
+ virNetMessageSaveError(rerr);
+ return -1;
}
static int
virNetServerClientGetPrivateData(client);
virStoragePoolPtr pool = NULL;
virConnectPtr conn = remoteGetStorageConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
rv = 0;
cleanup:
- virMutexUnlock(&priv->lock);
remoteEventCallbackFree(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
struct virNetMessageError *rerr G_GNUC_UNUSED,
remote_connect_storage_pool_event_deregister_any_args *args)
{
- int rv = -1;
size_t i;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetStorageConn(client);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
- virMutexLock(&priv->lock);
if (!conn)
goto cleanup;
VIR_DELETE_ELEMENT(priv->storageEventCallbacks, i,
priv->nstorageEventCallbacks);
- rv = 0;
+ return 0;
cleanup:
- virMutexUnlock(&priv->lock);
- if (rv < 0)
- virNetMessageSaveError(rerr);
- return rv;
+ virNetMessageSaveError(rerr);
+ return -1;
}
static int
virNetServerClientGetPrivateData(client);
virNodeDevicePtr dev = NULL;
virConnectPtr conn = remoteGetNodeDevConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
rv = 0;
cleanup:
- virMutexUnlock(&priv->lock);
remoteEventCallbackFree(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
struct virNetMessageError *rerr G_GNUC_UNUSED,
remote_connect_node_device_event_deregister_any_args *args)
{
- int rv = -1;
size_t i;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetNodeDevConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
VIR_DELETE_ELEMENT(priv->nodeDeviceEventCallbacks, i,
priv->nnodeDeviceEventCallbacks);
- rv = 0;
+ return 0;
cleanup:
- virMutexUnlock(&priv->lock);
- if (rv < 0)
- virNetMessageSaveError(rerr);
- return rv;
+ virNetMessageSaveError(rerr);
+ return -1;
}
static int
virNetServerClientGetPrivateData(client);
virSecretPtr secret = NULL;
virConnectPtr conn = remoteGetSecretConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
rv = 0;
cleanup:
- virMutexUnlock(&priv->lock);
remoteEventCallbackFree(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
struct virNetMessageError *rerr G_GNUC_UNUSED,
remote_connect_secret_event_deregister_any_args *args)
{
- int rv = -1;
size_t i;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetSecretConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
VIR_DELETE_ELEMENT(priv->secretEventCallbacks, i,
priv->nsecretEventCallbacks);
- rv = 0;
+ return 0;
cleanup:
- virMutexUnlock(&priv->lock);
- if (rv < 0)
- virNetMessageSaveError(rerr);
- return rv;
+ virNetMessageSaveError(rerr);
+ return -1;
}
static int
virDomainPtr dom = NULL;
const char *event = args->event ? *args->event : NULL;
virConnectPtr conn = remoteGetHypervisorConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
rv = 0;
cleanup:
- virMutexUnlock(&priv->lock);
remoteEventCallbackFree(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
struct virNetMessageError *rerr G_GNUC_UNUSED,
qemu_connect_domain_monitor_event_deregister_args *args)
{
- int rv = -1;
size_t i;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
virConnectPtr conn = remoteGetHypervisorConn(client);
-
- virMutexLock(&priv->lock);
+ VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
if (!conn)
goto cleanup;
VIR_DELETE_ELEMENT(priv->qemuEventCallbacks, i,
priv->nqemuEventCallbacks);
- rv = 0;
+ return 0;
cleanup:
- virMutexUnlock(&priv->lock);
- if (rv < 0)
- virNetMessageSaveError(rerr);
- return rv;
+ virNetMessageSaveError(rerr);
+ return -1;
}
static int