* Copyright (c) 1995-2003, Index Data
* See the file LICENSE for details.
*
- * $Id: seshigh.c,v 1.161 2003-09-09 16:03:46 mike Exp $
+ * $Id: seshigh.c,v 1.163 2003-10-20 20:48:37 adam Exp $
*/
/*
}
else
{
+ request_release(req);
yaz_log(LOG_DEBUG, "v2 client. No Close PDU");
iochan_setevent(a->client_chan, EVENT_TIMEOUT); /* force imm close */
}
static void do_close(association *a, int reason, char *message)
{
- do_close_req (a, reason, message, request_get(&a->outgoing));
+ request *req = request_get(&a->outgoing);
+ do_close_req (a, reason, message, req);
}
/*
{
yaz_log(LOG_LOG, "PDU dump:");
odr_dumpBER(yaz_log_file(), assoc->input_buffer, res);
- do_close(assoc, Z_Close_protocolError, "Malformed package");
+ request_release(req);
+ do_close(assoc, Z_Close_protocolError,"Malformed package");
}
else
{
yaz_log(LOG_WARN, "ODR error when decoding PDU: %s [element %s]",
odr_errmsg(odr_geterror(assoc->decode)),
odr_getelement(assoc->decode));
+ request_release(req);
return -1;
}
req->response = odr_getbuf(assoc->encode, &req->len_response,