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)); } }
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)); } }