projects
/
pazpar2-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid session lock while client search is initiated
[pazpar2-moved-to-github.git]
/
src
/
http_command.c
diff --git
a/src/http_command.c
b/src/http_command.c
index
2f893c8
..
7b296c7
100644
(file)
--- a/
src/http_command.c
+++ b/
src/http_command.c
@@
-126,7
+126,7
@@
void http_sessions_destroy(http_sessions_t hs)
{
struct http_session *s_next = s->next;
iochan_destroy(s->timeout_iochan);
{
struct http_session *s_next = s->next;
iochan_destroy(s->timeout_iochan);
- destroy_session(s->psession);
+ session_destroy(s->psession);
nmem_destroy(s->nmem);
s = s_next;
}
nmem_destroy(s->nmem);
s = s_next;
}
@@
-199,7
+199,7
@@
void http_session_destroy(struct http_session *s)
{ /* destroying for real */
yaz_log(http_sessions->log_level, "%p HTTP Session %u destroyed", s, s->session_id);
iochan_destroy(s->timeout_iochan);
{ /* destroying for real */
yaz_log(http_sessions->log_level, "%p HTTP Session %u destroyed", s, s->session_id);
iochan_destroy(s->timeout_iochan);
- destroy_session(s->psession);
+ session_destroy(s->psession);
http_session_use(-1);
nmem_destroy(s->nmem);
}
http_session_use(-1);
nmem_destroy(s->nmem);
}
@@
-642,6
+642,11
@@
static void cmd_bytarget(struct http_channel *c)
wrbuf_puts(c->wrbuf, ht[i].settings_xml);
wrbuf_puts(c->wrbuf, "</settings>\n");
}
wrbuf_puts(c->wrbuf, ht[i].settings_xml);
wrbuf_puts(c->wrbuf, "</settings>\n");
}
+ if (ht[i].suggestions_xml && ht[i].suggestions_xml[0]) {
+ wrbuf_puts(c->wrbuf, "<suggestions>");
+ wrbuf_puts(c->wrbuf, ht[i].suggestions_xml);
+ wrbuf_puts(c->wrbuf, "</suggestions>");
+ }
wrbuf_puts(c->wrbuf, "</target>");
}
response_close(c, "bytarget");
wrbuf_puts(c->wrbuf, "</target>");
}
response_close(c, "bytarget");
@@
-1049,7
+1054,6
@@
static void cmd_search(struct http_channel *c)
}
response_open(c, "search");
response_close(c, "search");
}
response_open(c, "search");
response_close(c, "search");
- http_send_response(c);
release_session(c, s);
}
release_session(c, s);
}