From 9b6c0ddfd2bf29a83a70ecd558cb2dcdb34a30d2 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Mon, 22 Feb 2010 14:51:28 +0100 Subject: [PATCH] Fix connection reuse Try to ensure we don't use a connection (for reuse) that is still active. We must not reuse a connection (and ZOOM connection) if events are still being fired to it. --- src/connection.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/connection.c b/src/connection.c index b8a7d01..f205252 100644 --- a/src/connection.c +++ b/src/connection.c @@ -264,7 +264,6 @@ void connection_release(struct connection *co) { struct client *cl = co->client; - yaz_log(YLOG_DEBUG, "Connection release %s", co->host->hostport); if (!cl) return; client_set_connection(cl, 0); @@ -444,7 +443,7 @@ int client_prep_connection(struct client *cl, yaz_mutex_enter(host->mutex); for (co = host->connections; co; co = co->next) if (connection_is_idle(co) && - (!co->client || client_get_session(co->client) != se) && + (!co->client || client_get_state(co->client) == Client_Idle) && !strcmp(ZOOM_connection_option_get(co->link, "user"), session_setting_oneval(client_get_database(cl), PZ_AUTHENTICATION))) -- 1.7.10.4