/************************************************************************/
if (!bError)
{
// Allocate another thread to the thread Pool?
if (nBusyThreads == pThis->m_nCurrentThreads)
{
if (nBusyThreads < pThis->m_nThreadPoolMax)
{
if (pThis->m_cpu.GetUsage() > pThis->m_nCPUHiThreshold)
{
UINT nThreadID = -1;
// Thread timed out - IDLE?
if (!bIORet && dwIOError == WAIT_TIMEOUT)
{
if (lpClientContext == NULL)
{
if (pThis->m_cpu.GetUsage() < pThis->m_nCPULoThreshold)
{
// Thread has no outstanding IO - Server hasn't much to do so die
if (pThis->m_nCurrentThreads > pThis->m_nThreadPoolMin)
bStayInPool = FALSE;
}