From: Adam Dickmeiss Date: Mon, 19 Apr 2010 10:59:31 +0000 (+0200) Subject: Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/pazpar2 X-Git-Tag: v1.4.0~38 X-Git-Url: http://git.indexdata.com/?a=commitdiff_plain;h=e785ffaab91fa3671aa61088154d8bbf84a8d5bb;hp=-c;p=pazpar2-moved-to-github.git Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/pazpar2 --- e785ffaab91fa3671aa61088154d8bbf84a8d5bb diff --combined src/client.c index 6f0941a,0d6112b..91d0b26 --- a/src/client.c +++ b/src/client.c @@@ -617,15 -617,16 +617,16 @@@ struct client *client_create(void void client_incref(struct client *c) { pazpar2_incref(&c->ref_count, c->mutex); - yaz_log(YLOG_DEBUG, "client_incref %s %d", client_get_url(c), c->ref_count); + yaz_log(YLOG_LOG, "client_incref c=%p %s cnt=%d", + c, client_get_url(c), c->ref_count); } int client_destroy(struct client *c) { if (c) { - yaz_log(YLOG_DEBUG, "client_destroy %s %d", - client_get_url(c), c->ref_count); + yaz_log(YLOG_LOG, "client_destroy c=%p %s cnt=%d", + c, client_get_url(c), c->ref_count); if (!pazpar2_decref(&c->ref_count, c->mutex)) { c->next = 0; @@@ -633,9 -634,8 +634,9 @@@ c->pquery = 0; xfree(c->cqlquery); c->cqlquery = 0; - - ZOOM_resultset_destroy(c->resultset); + assert(!c->connection); + assert(!c->resultset); + yaz_mutex_destroy(&c->mutex); xfree(c); return 1; @@@ -646,11 -646,6 +647,11 @@@ void client_set_connection(struct client *cl, struct connection *con) { + if (cl->resultset) + { + ZOOM_resultset_destroy(cl->resultset); + cl->resultset = 0; + } if (con) { assert(cl->connection == 0); @@@ -813,7 -808,6 +814,6 @@@ int client_parse_query(struct client *c void client_remove_from_session(struct client *c) { struct session *se; - client_incref(c); se = c->session; assert(se); @@@ -830,7 -824,6 +830,6 @@@ c->session = 0; c->next = 0; } - client_destroy(c); } void client_set_session(struct client *cl, struct session *se)