- yaz_mutex_leave(host->mutex);
- connection_connect(con, iochan_man);
- client_start_search(con->client);
- goto start;
+ struct session_database *sdb = client_get_database(con->client);
+ if (sdb)
+ {
+ yaz_mutex_leave(host->mutex);
+ connection_connect(con, iochan_man);
+ client_start_search(con->client);
+ }
+ else
+ {
+ remove_connection_from_host(con);
+ yaz_mutex_leave(host->mutex);
+ connection_destroy(con);
+ }