X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fseshigh.c;h=0a3f9fac901a31ad170235f0634348b17772ab7c;hb=6d79c6e2281fb22a755f95a15b3da16c3ace7c3a;hp=c9d7bb3b23220d8baef9de14299d4f6cc2da0e8b;hpb=48934edc63895e9881924b11791da324c450b8a2;p=yaz-moved-to-github.git diff --git a/src/seshigh.c b/src/seshigh.c index c9d7bb3..0a3f9fa 100644 --- a/src/seshigh.c +++ b/src/seshigh.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2010 Index Data + * Copyright (C) 1995-2011 Index Data * See the file LICENSE for details. */ /** @@ -25,6 +25,9 @@ * minimize memory allocation/deallocation during normal operation. * */ +#if HAVE_CONFIG_H +#include +#endif #include #include @@ -224,10 +227,6 @@ void destroy_association(association *h) request_delq(&h->outgoing); xfree(h); xmalloc_trav("session closed"); - if (cb && cb->one_shot) - { - exit(0); - } } static void do_close_req(association *a, int reason, char *message, @@ -950,6 +949,7 @@ static void srw_bend_search(association *assoc, rr.errcode = 0; rr.errstring = 0; rr.search_info = 0; + rr.search_input = 0; yaz_log_zquery_level(log_requestdetail,rr.query); (assoc->init->bend_search)(assoc->backend, &rr); @@ -1906,7 +1906,7 @@ static void process_http_request(association *assoc, request *req) keepalive = 1; hres->version = "1.1"; } - if (!keepalive) + if (!keepalive || !assoc->last_control->keepalive) { z_HTTP_header_add(o, &hres->headers, "Connection", "close"); assoc->state = ASSOC_DEAD; @@ -2501,6 +2501,7 @@ static Z_Records *pack_records(association *a, char *setname, Odr_int start, } if (freq.record == 0) /* no error and no record ? */ { + *pres = Z_PresentStatus_partial_4; *next = 0; /* signal end-of-set and stop */ break; } @@ -2617,6 +2618,7 @@ static Z_APDU *process_searchRequest(association *assoc, request *reqb) bsrr->errcode = 0; bsrr->errstring = NULL; bsrr->search_info = NULL; + bsrr->search_input = req->otherInfo; if (assoc->server && assoc->server->cql_transform && req->query->which == Z_Query_type_104