{
job->active = QEMU_JOB_NONE;
job->owner = 0;
- job->ownerAPI = NULL;
+ g_clear_pointer(&job->ownerAPI, g_free);
job->started = 0;
}
{
job->agentActive = QEMU_AGENT_JOB_NONE;
job->agentOwner = 0;
- job->agentOwnerAPI = NULL;
+ g_clear_pointer(&job->agentOwnerAPI, g_free);
job->agentStarted = 0;
}
{
job->asyncJob = QEMU_ASYNC_JOB_NONE;
job->asyncOwner = 0;
- job->asyncOwnerAPI = NULL;
+ g_clear_pointer(&job->asyncOwnerAPI, g_free);
job->asyncStarted = 0;
job->phase = 0;
job->mask = QEMU_JOB_DEFAULT_MASK;
obj, obj->def->name);
priv->job.active = job;
priv->job.owner = virThreadSelfID();
- priv->job.ownerAPI = virThreadJobGet();
+ priv->job.ownerAPI = g_strdup(virThreadJobGet());
priv->job.started = now;
} else {
VIR_DEBUG("Started async job: %s (vm=%p name=%s)",
priv->job.current->status = QEMU_DOMAIN_JOB_STATUS_ACTIVE;
priv->job.asyncJob = asyncJob;
priv->job.asyncOwner = virThreadSelfID();
- priv->job.asyncOwnerAPI = virThreadJobGet();
+ priv->job.asyncOwnerAPI = g_strdup(virThreadJobGet());
priv->job.asyncStarted = now;
priv->job.current->started = now;
}
qemuDomainAsyncJobTypeToString(priv->job.asyncJob));
priv->job.agentActive = agentJob;
priv->job.agentOwner = virThreadSelfID();
- priv->job.agentOwnerAPI = virThreadJobGet();
+ priv->job.agentOwnerAPI = g_strdup(virThreadJobGet());
priv->job.agentStarted = now;
}
/* Restore the config of the async job which is not persisted */
priv->jobs_queued++;
priv->job.asyncJob = QEMU_ASYNC_JOB_BACKUP;
- priv->job.asyncOwnerAPI = virThreadJobGet();
+ priv->job.asyncOwnerAPI = g_strdup(virThreadJobGet());
priv->job.asyncStarted = now;
qemuDomainObjSetAsyncJobMask(vm, (QEMU_JOB_DEFAULT_MASK |