示例#1
0
文件: socket.c 项目: Icenowy/qemu
static gboolean socket_accept_incoming_migration(QIOChannel *ioc,
                                                 GIOCondition condition,
                                                 gpointer opaque)
{
    QIOChannelSocket *sioc;
    Error *err = NULL;

    sioc = qio_channel_socket_accept(QIO_CHANNEL_SOCKET(ioc),
                                     &err);
    if (!sioc) {
        error_report("could not accept migration connection (%s)",
                     error_get_pretty(err));
        goto out;
    }

    trace_migration_socket_incoming_accepted();

    qio_channel_set_name(QIO_CHANNEL(sioc), "migration-socket-incoming");
    migration_channel_process_incoming(migrate_get_current(),
                                       QIO_CHANNEL(sioc));
    object_unref(OBJECT(sioc));

out:
    /* Close listening socket as its no longer needed */
    qio_channel_close(ioc, NULL);
    return FALSE; /* unregister */
}
示例#2
0
文件: fd.c 项目: E8-Storage/qemu
static gboolean fd_accept_incoming_migration(QIOChannel *ioc,
                                             GIOCondition condition,
                                             gpointer opaque)
{
    migration_channel_process_incoming(ioc);
    object_unref(OBJECT(ioc));
    return G_SOURCE_REMOVE;
}
示例#3
0
文件: exec.c 项目: AmesianX/panda
static gboolean exec_accept_incoming_migration(QIOChannel *ioc,
                                               GIOCondition condition,
                                               gpointer opaque)
{
    migration_channel_process_incoming(migrate_get_current(), ioc);
    object_unref(OBJECT(ioc));
    return FALSE; /* unregister */
}
示例#4
0
文件: tls.c 项目: GamerSource/qemu
static void migration_tls_incoming_handshake(Object *src,
                                             Error *err,
                                             gpointer opaque)
{
    QIOChannel *ioc = QIO_CHANNEL(src);

    if (err) {
        trace_migration_tls_incoming_handshake_error(error_get_pretty(err));
        error_report("%s", error_get_pretty(err));
    } else {
        trace_migration_tls_incoming_handshake_complete();
        migration_channel_process_incoming(migrate_get_current(), ioc);
    }
    object_unref(OBJECT(ioc));
}