"Daniel P. Berrange" <berra...@redhat.com> wrote: > On Tue, Aug 08, 2017 at 06:26:25PM +0200, Juan Quintela wrote: >> We make the locking and the transfer of information specific, even if we >> are still receiving things through the main thread. >> >> Signed-off-by: Juan Quintela <quint...@redhat.com> >> >> -- >> >> We split when we create the main channel and where we start the main >> migration thread, so we wait for the creation of the other threads. >> >> Use multifd_clear_group(). >> --- >> migration/migration.c | 7 ++++--- >> migration/migration.h | 1 + >> migration/ram.c | 55 >> +++++++++++++++++++++++++++++++++++++++++++++++---- >> migration/socket.c | 2 +- >> 4 files changed, 57 insertions(+), 8 deletions(-) > > >> diff --git a/migration/socket.c b/migration/socket.c >> index 5dd6f42..3af9f7c 100644 >> --- a/migration/socket.c >> +++ b/migration/socket.c >> @@ -183,12 +183,12 @@ static gboolean >> socket_accept_incoming_migration(QIOChannel *ioc, >> >> qio_channel_set_name(QIO_CHANNEL(sioc), "migration-socket-incoming"); >> migration_channel_process_incoming(QIO_CHANNEL(sioc)); >> - object_unref(OBJECT(sioc)); > > AFAICT, migration_channel_process_incoming() acquires its own reference > on 'sioc', so removing this object_unref means the code is now leaking a > reference
Done. Thanks, Juan.