static gboolean io_watch_poll_prepare(GSource *source, gint *timeout_)

{

    IOWatchPoll *iwp = io_watch_poll_from_source(source);

    bool now_active = iwp->fd_can_read(iwp->opaque) > 0;

    bool was_active = g_source_get_context(iwp->src) != NULL;

    if (was_active == now_active) {

        return FALSE;

    }



    if (now_active) {

        g_source_attach(iwp->src, NULL);

    } else {

        g_source_remove(g_source_get_id(iwp->src));

    }

    return FALSE;

}

static gboolean io_watch_poll_prepare(GSource *source, gint *timeout_)

{

    IOWatchPoll *iwp = io_watch_poll_from_source(source);

    bool now_active = iwp->fd_can_read(iwp->opaque) > 0;

    bool was_active = g_source_get_context(iwp->src) != NULL;

    if (was_active == now_active) {

        return FALSE;

    }



    if (now_active) {

        g_source_attach(iwp->src, NULL);

    } else {

        g_source_remove(g_source_get_id(iwp->src));

    }

    return FALSE;

}

static gboolean FUNC_0(GSource *source, gint *timeout_)

{

    IOWatchPoll *iwp = io_watch_poll_from_source(source);

    bool now_active = iwp->fd_can_read(iwp->opaque) > 0;

    bool was_active = g_source_get_context(iwp->src) != NULL;

    if (was_active == now_active) {

        return FALSE;

    }



    if (now_active) {

        g_source_attach(iwp->src, NULL);

    } else {

        g_source_remove(g_source_get_id(iwp->src));

    }

    return FALSE;

}

static gboolean FUNC_0(GSource *source, gint *timeout_)
{ IOWatchPoll *iwp = io_watch_poll_from_source(source); bool now_active = iwp->fd_can_read(iwp->opaque) > 0; bool was_active = g_source_get_context(iwp->src) != NULL; if (was_active == now_active) { return FALSE; } if (now_active) { g_source_attach(iwp->src, NULL); } else { g_source_remove(g_source_get_id(iwp->src)); } return FALSE; }