static int qio_channel_socket_dgram_worker(QIOTask *task,

                                           Error **errp,

                                           gpointer opaque)

{

    QIOChannelSocket *ioc = QIO_CHANNEL_SOCKET(qio_task_get_source(task));

    struct QIOChannelSocketDGramWorkerData *data = opaque;

    int ret;



    /* socket_dgram() blocks in DNS lookups, so we must use a thread */

    ret = qio_channel_socket_dgram_sync(ioc,

                                        data->localAddr,

                                        data->remoteAddr,

                                        errp);



    object_unref(OBJECT(ioc));

    return ret;

}

static int qio_channel_socket_dgram_worker(QIOTask *task,

                                           Error **errp,

                                           gpointer opaque)

{

    QIOChannelSocket *ioc = QIO_CHANNEL_SOCKET(qio_task_get_source(task));

    struct QIOChannelSocketDGramWorkerData *data = opaque;

    int ret;



    

    ret = qio_channel_socket_dgram_sync(ioc,

                                        data->localAddr,

                                        data->remoteAddr,

                                        errp);



    object_unref(OBJECT(ioc));

    return ret;

}

    object_unref(OBJECT(ioc));     object_unref(OBJECT(ioc));     object_unref(OBJECT(ioc));
static int FUNC_0(QIOTask *VAR_0,

                                           Error **VAR_1,

                                           gpointer VAR_2)

{

    QIOChannelSocket *ioc = QIO_CHANNEL_SOCKET(qio_task_get_source(VAR_0));

    struct QIOChannelSocketDGramWorkerData *VAR_3 = VAR_2;

    int VAR_4;



    

    VAR_4 = qio_channel_socket_dgram_sync(ioc,

                                        VAR_3->localAddr,

                                        VAR_3->remoteAddr,

                                        VAR_1);



    object_unref(OBJECT(ioc));

    return VAR_4;

}

static int FUNC_0(QIOTask *VAR_0,
Error **VAR_1,
gpointer VAR_2)
{ QIOChannelSocket *ioc = QIO_CHANNEL_SOCKET(qio_task_get_source(VAR_0)); struct QIOChannelSocketDGramWorkerData *VAR_3 = VAR_2; int VAR_4; VAR_4 = qio_channel_socket_dgram_sync(ioc,
VAR_3->localAddr,
VAR_3->remoteAddr,
VAR_1); object_unref(OBJECT(ioc)); return VAR_4; }