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 / [email protected] / 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.
Paolo