if (json)
mon->wait_greeting = 1;
mon->cb = cb;
- virObjectLock(mon);
if (virSetCloseExec(mon->fd) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
}
+ virObjectLock(mon);
virObjectRef(mon);
if ((mon->watch = virEventAddHandle(mon->fd,
VIR_EVENT_HANDLE_HANGUP |
mon,
virObjectFreeCallback)) < 0) {
virObjectUnref(mon);
+ virObjectUnlock(mon);
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("unable to register monitor events"));
goto cleanup;
* so kill the callbacks now.
*/
mon->cb = NULL;
- virObjectUnlock(mon);
/* The caller owns 'fd' on failure */
mon->fd = -1;
- if (mon->watch)
- virEventRemoveHandle(mon->watch);
qemuMonitorClose(mon);
return NULL;
}
unsigned long long *extent)
{
int ret;
- VIR_DEBUG("mon=%p, fd=%d, dev_name=%p",
- mon, mon->fd, dev_name);
+ VIR_DEBUG("mon=%p, dev_name=%p", mon, dev_name);
if (mon->json)
ret = qemuMonitorJSONGetBlockExtent(mon, dev_name, extent);
unsigned long long size)
{
int ret;
- VIR_DEBUG("mon=%p, fd=%d, devname=%p size=%llu",
- mon, mon->fd, device, size);
+ VIR_DEBUG("mon=%p, devname=%p size=%llu", mon, device, size);
if (mon->json)
ret = qemuMonitorJSONBlockResize(mon, device, size);