Beispiel #1
0
void connection_continue(struct connection *co)
{
    int r = ZOOM_connection_exec_task(co->link);
    if (!r)
        non_block_events(co);
    else
    {
        iochan_setflags(co->iochan, ZOOM_connection_get_mask(co->link));
        iochan_setfd(co->iochan, ZOOM_connection_get_socket(co->link));
    }
}
Beispiel #2
0
void connection_continue(struct connection *co)
{
    int r = ZOOM_connection_exec_task(co->link);
    if (!r)
    {
        const char *error, *addinfo;
        int err;
        if ((err = ZOOM_connection_error(co->link, &error, &addinfo)))
        {
            if (co->client)
            {
                yaz_log(YLOG_LOG, "Error %s from %s",
                        error, client_get_id(co->client));
                client_set_diagnostic(co->client, err, addinfo);
                client_set_state_nb(co->client, Client_Error);
            }
        }
    }
    else
    {
        iochan_setflags(co->iochan, ZOOM_connection_get_mask(co->link));
        iochan_setfd(co->iochan, ZOOM_connection_get_socket(co->link));
    }
}