static int vmc_exitfn(VirtIOSerialDevice *dev) { VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, &dev->qdev); SpiceVirtualChannel *svc = DO_UPCAST(SpiceVirtualChannel, port, port); dprintf(svc, 1, "%s\n", __func__); vmc_unregister_interface(svc); qemu_del_vm_change_state_handler(svc->vmstate); virtio_serial_close(port); return 0; }
static void chr_event(void *opaque, int event) { VirtConsole *vcon = opaque; switch (event) { case CHR_EVENT_OPENED: virtio_serial_open(&vcon->port); break; case CHR_EVENT_CLOSED: virtio_serial_close(&vcon->port); break; } }
static void chr_event(void *opaque, int event) { VirtConsole *vcon = opaque; trace_virtio_console_chr_event(vcon->port.id, event); switch (event) { case CHR_EVENT_OPENED: virtio_serial_open(&vcon->port); break; case CHR_EVENT_CLOSED: if (vcon->watch) { g_source_remove(vcon->watch); vcon->watch = 0; } virtio_serial_close(&vcon->port); break; } }
static void chr_event(void *opaque, int event) { VirtConsole *vcon = opaque; VirtIOSerialPort *port = VIRTIO_SERIAL_PORT(vcon); trace_virtio_console_chr_event(port->id, event); switch (event) { case CHR_EVENT_OPENED: virtio_serial_open(port); break; case CHR_EVENT_CLOSED: if (vcon->watch) { g_source_remove(vcon->watch); vcon->watch = 0; } virtio_serial_close(port); break; } }