On Tue, Mar 13, 2018 at 11:57:17AM +0100, Paolo Bonzini wrote: > On 13/03/2018 10:20, Dr. David Alan Gilbert wrote: > >> static void socket_start_incoming_migration(SocketAddress *saddr, > >> Error **errp) > >> { > >> - QIOChannelSocket *listen_ioc = qio_channel_socket_new(); > >> + QIONetListener *listener = qio_net_listener_new(); > >> > >> - qio_channel_set_name(QIO_CHANNEL(listen_ioc), > >> - "migration-socket-listener"); > >> + qio_net_listener_set_name(listener, "migration-socket-listener"); > >> > >> - if (qio_channel_socket_listen_sync(listen_ioc, saddr, errp) < 0) { > >> - object_unref(OBJECT(listen_ioc)); > >> + if (qio_net_listener_open_sync(listener, saddr, errp) < 0) { > >> + object_unref(OBJECT(listener)); > >> return; > >> } > >> > >> - qio_channel_add_watch(QIO_CHANNEL(listen_ioc), > >> - G_IO_IN, > >> - socket_accept_incoming_migration, > >> - listen_ioc, > >> - (GDestroyNotify)object_unref); > >> + qio_net_listener_set_client_func(listener, > >> + socket_accept_incoming_migration, > >> + NULL, NULL); > >> } > >> > >> void tcp_start_incoming_migration(const char *host_port, Error **errp) > >> -- > >> 2.14.3 > >> > > -- > > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > > > > Could this get in 2.12 as a bugfix, even after soft freeze? It's the > last user of qio_channel_listen_sync that blocks full IPv4/IPv6 support. > All other users are for vsock/AF_UNIX.
I had been thinking of all this conversion as feature, but I guess if we squint our eyes a bit we could claim it is just a bugfix on the grounds that it is fixing broken IPv4/6 dual stack support. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|