- if (co->set_id_request == co->set_id_response)
- client_set_state(co->client, Client_Idle);
+ {
+ const char *error, *addinfo;
+ int err;
+ if ((err = ZOOM_connection_error(link, &error, &addinfo)))
+ {
+ yaz_log(YLOG_LOG, "Error %s from %s",
+ error, client_get_url(cl));
+ }
+ iochan_settimeout(iochan, co->session_timeout);
+ client_set_diagnostic(cl, err);
+ client_set_state(cl, Client_Idle);
+ }