{
struct client *cl = l->client;
struct timeval tval;
- if (client_prep_connection(cl, se->service->z3950_operation_timeout,
- se->service->z3950_session_timeout,
- se->service->server->iochan_man,
- &tval))
+ int ret = client_prep_connection(cl, se->service->z3950_operation_timeout,
+ se->service->z3950_session_timeout,
+ se->service->server->iochan_man,
+ &tval, 1);
+ if (ret)
client_start_search(cl);
}
session_leave(se);
client_prep_connection(cl, se->service->z3950_operation_timeout,
se->service->z3950_session_timeout,
se->service->server->iochan_man,
- &tval);
+ &tval, 0);
if (parse_ret == 1 && r == 2)
{
session_log(se, YLOG_LOG, "client REUSE %s", client_get_id(cl));