/* This file is part of Metaproxy.
- Copyright (C) 2005-2012 Index Data
+ Copyright (C) Index Data
Metaproxy is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
}
}
+void ThreadPoolSocketObserver::get_thread_info(int &tbusy, int &total)
+{
+ tbusy = m_p->m_no_threads - m_p->m_no_threads_waiting;
+ total = m_p->m_no_threads;
+}
+
void ThreadPoolSocketObserver::run(void *p)
{
while(1)
m_p->m_no_threads_waiting--;
if (m_p->m_stop_flag)
break;
-
+
in = m_p->m_input.front();
- m_p->m_input.pop_front();
+ m_p->m_input.pop_front();
m_p->m_cond_input_full.notify_all();
}
IThreadPoolMsg *out = in->handle();
while (it != m_p->m_input.end())
{
if ((*it)->cleanup(info))
+ {
+ delete *it;
it = m_p->m_input.erase(it);
+ }
else
it++;
}