virCHStartEventHandler(virCHMonitor *mon)
{
g_autofree char *name = NULL;
- name = g_strdup_printf("ch-evt-%d", mon->pid);
+ name = g_strdup_printf("ch-evt-%d", mon->vm->pid);
virObjectRef(mon);
if (virThreadCreateFull(&mon->event_handler_thread,
return NULL;
}
- if ((rv = virPidFileReadPath(priv->pidfile, &mon->pid)) < 0) {
+ if ((rv = virPidFileReadPath(priv->pidfile, &vm->pid)) < 0) {
virReportSystemError(-rv,
_("Domain %1$s didn't show up"),
vm->def->name);
return NULL;
}
VIR_DEBUG("CH vm=%p name=%s running with pid=%lld",
- vm, vm->def->name, (long long)mon->pid);
+ vm, vm->def->name, (long long)vm->pid);
/* open the reader end of fifo before start Event Handler */
while ((event_monitor_fd = open(mon->eventmonitorpath, O_RDONLY)) < 0) {
if (!mon)
return;
- if (mon->pid > 0) {
- /* try cleaning up the Cloud-Hypervisor process */
- virProcessAbort(mon->pid);
- mon->pid = 0;
- }
-
if (mon->handle)
curl_easy_cleanup(mon->handle);
}
}
- vm->pid = priv->monitor->pid;
vm->def->id = vm->pid;
priv->machineName = virCHDomainGetMachineName(vm);
virErrorPreserveLast(&orig_err);
if (priv->monitor) {
+ virProcessAbort(vm->pid);
g_clear_pointer(&priv->monitor, virCHMonitorClose);
}
}
}
- vm->pid = priv->monitor->pid;
vm->def->id = vm->pid;
priv->machineName = virCHDomainGetMachineName(vm);