On Mon, Mar 08, 2021 at 01:31:40PM +0100, Greg Kurz wrote: > @@ -363,8 +367,30 @@ static int vhost_user_read(struct vhost_dev *dev, > VhostUserMsg *msg) > qemu_chr_be_update_read_handlers(chr->chr, ctxt); > qemu_chr_fe_add_watch(chr, G_IO_IN | G_IO_HUP, vhost_user_read_cb, > &data); > > + if (u->slave_ioc) { > + /* > + * This guarantees that all pending events in the main context > + * for the slave channel are purged. They will be re-detected > + * and processed now by the nested loop. > + */ > + g_source_destroy(u->slave_src); > + g_source_unref(u->slave_src); > + u->slave_src = NULL; > + slave_src = qio_channel_add_watch_source(u->slave_ioc, G_IO_IN,
Why does slave_ioc use G_IO_IN while chr uses G_IO_IN | G_IO_HUP?
signature.asc
Description: PGP signature