* Peter Xu (peterx@redhat.com) wrote:
> Allow to return the task tag in fd_start_incoming_migration().
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
> migration/fd.c | 18 +++++++++++-------
> migration/fd.h | 2 +-
> 2 files changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/migration/fd.c b/migration/fd.c
> index 30f5258..e9a548c 100644
> --- a/migration/fd.c
> +++ b/migration/fd.c
> @@ -52,7 +52,11 @@ static gboolean fd_accept_incoming_migration(QIOChannel *ioc,
> return FALSE; /* unregister */
> }
>
> -void fd_start_incoming_migration(const char *infd, Error **errp)
> +/*
> + * Returns the tag ID of the watch that is attached to global main
> + * loop (>0), or zero if failure detected.
> + */
> +guint fd_start_incoming_migration(const char *infd, Error **errp)
> {
> QIOChannel *ioc;
> int fd;
> @@ -63,13 +67,13 @@ void fd_start_incoming_migration(const char *infd, Error **errp)
> ioc = qio_channel_new_fd(fd, errp);
> if (!ioc) {
> close(fd);
> - return;
> + return 0;
> }
>
> qio_channel_set_name(QIO_CHANNEL(ioc), "migration-fd-incoming");
> - qio_channel_add_watch(ioc,
> - G_IO_IN,
> - fd_accept_incoming_migration,
> - NULL,
> - NULL);
> + return qio_channel_add_watch(ioc,
> + G_IO_IN,
> + fd_accept_incoming_migration,
> + NULL,
> + NULL);
> }
> diff --git a/migration/fd.h b/migration/fd.h
> index a14a63c..94cdea8 100644
> --- a/migration/fd.h
> +++ b/migration/fd.h
> @@ -16,7 +16,7 @@
>
> #ifndef QEMU_MIGRATION_FD_H
> #define QEMU_MIGRATION_FD_H
> -void fd_start_incoming_migration(const char *path, Error **errp);
> +guint fd_start_incoming_migration(const char *path, Error **errp);
>
> void fd_start_outgoing_migration(MigrationState *s, const char *fdname,
> Error **errp);
> --
> 2.7.4
>
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK