DM: release mevent when doing virtual device deinit

When doing warm reboot, the mevent module will not be deinitialized.
We need to delete all mevent registered while deinit virutal device.

Signed-off-by: Yin Fengwei <fengwei.yin@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
This commit is contained in:
Yin Fengwei 2018-04-13 16:57:55 +08:00 committed by Jack Ren
parent e65b98bf36
commit 097aee76bf
2 changed files with 10 additions and 0 deletions

View File

@ -766,6 +766,13 @@ virtio_console_close_all(struct virtio_console *console)
be = (struct virtio_console_backend *)port->arg;
if (be) {
if (be->evp) {
if (be->fd != STDIN_FILENO)
mevent_delete_close(be->evp);
else
mevent_delete(be->evp);
}
virtio_console_close_backend(be);
free(be);
}

View File

@ -1093,6 +1093,9 @@ virtio_net_deinit(struct vmctx *ctx, struct pci_vdev *dev, char *opts)
} else
fprintf(stderr, "net->tapfd is -1!\n");
if (net->mevp != NULL)
mevent_delete(net->mevp);
free(net);
DPRINTF(("%s: done\n", __func__));