projects
/
metaproxy-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove incoming requests that can not be handled
[metaproxy-moved-to-github.git]
/
src
/
filter_frontend_net.cpp
diff --git
a/src/filter_frontend_net.cpp
b/src/filter_frontend_net.cpp
index
a3ab5f7
..
b347ad2
100644
(file)
--- a/
src/filter_frontend_net.cpp
+++ b/
src/filter_frontend_net.cpp
@@
-103,7
+103,7
@@
namespace metaproxy_1 {
~ThreadPoolPackage();
IThreadPoolMsg *handle();
void result(const char *t_info);
~ThreadPoolPackage();
IThreadPoolMsg *handle();
void result(const char *t_info);
-
+ bool cleanup(void *info);
private:
yaz_timing_t timer;
mp::ZAssocChild *m_assoc_child;
private:
yaz_timing_t timer;
mp::ZAssocChild *m_assoc_child;
@@
-155,6
+155,13
@@
mp::ThreadPoolPackage::~ThreadPoolPackage()
delete m_package;
}
delete m_package;
}
+bool mp::ThreadPoolPackage::cleanup(void *info)
+{
+ mp::Session *ses = (mp::Session *) info;
+
+ return *ses == m_package->session();
+}
+
void mp::ThreadPoolPackage::result(const char *t_info)
{
m_assoc_child->m_no_requests--;
void mp::ThreadPoolPackage::result(const char *t_info)
{
m_assoc_child->m_no_requests--;
@@
-284,7
+291,8
@@
void mp::ZAssocChild::failNotify()
mp::ThreadPoolPackage *tp = new mp::ThreadPoolPackage(p, this,
m_msg_config);
p->copy_route(*m_package);
mp::ThreadPoolPackage *tp = new mp::ThreadPoolPackage(p, this,
m_msg_config);
p->copy_route(*m_package);
- m_thread_pool_observer->put(tp);
+ m_thread_pool_observer->cleanup(tp, &m_session);
+ m_thread_pool_observer->put(tp);
}
void mp::ZAssocChild::timeoutNotify()
}
void mp::ZAssocChild::timeoutNotify()