1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

MCOL-3296 CTRL+C should not double remove from dequeue.

This commit is contained in:
David Hall
2019-05-09 12:42:18 -05:00
parent 93f00d9f32
commit f2d8a33ee5
4 changed files with 70 additions and 36 deletions

View File

@ -392,6 +392,24 @@ void ThreadPool::beginThread() throw()
--fIssued;
--waitingFunctorsSize;
fWaitingFunctors.erase(todo);
if (fDebug)
{
ostringstream oss;
oss << "Ending thread " << " on " << fName
<< " max " << fMaxThreads
<< " queue " << fQueueSize
<< " threads " << fThreadCount
<< " running " << fIssued
<< " waiting " << (waitingFunctorsSize - fIssued)
<< " total " << waitingFunctorsSize;
logging::Message::Args args;
logging::Message message(0);
args.add(oss.str());
message.format( args );
logging::LoggingID lid(22);
logging::MessageLog ml(lid);
ml.logWarningMessage( message );
}
}
timeout = boost::get_system_time()+boost::posix_time::minutes(10);
@ -515,6 +533,8 @@ void ThreadPoolMonitor::operator()()
<< setw(4) << tv.tv_usec/100
<< " Name " << fPool->fName
<< " Active " << fPool->waitingFunctorsSize
<< " running " << fPool->fIssued
<< " waiting " << (fPool->waitingFunctorsSize - fPool->fIssued)
<< " ThdCnt " << fPool->fThreadCount
<< " Max " << fPool->fMaxThreads
<< " Q " << fPool->fQueueSize