- iochan_add(iochan_man, con->iochan);
-
- client_set_state(con->client, Client_Connecting);
+ if (iochan_add(iochan_man, con->iochan))
+ {
+ yaz_log(YLOG_FATAL, "Out of connections");
+ iochan_destroy(con->iochan);
+ con->iochan = 0;
+ ZOOM_connection_destroy(con->link);
+ con->link = 0;
+ r = -1;
+ }
+ else
+ {
+ client_set_state(con->client, Client_Connecting);
+ }