removed leak from postprocessing, moved delete task to earlier in threadpool and deleting threadpool

This commit is contained in:
Dhanya Maliakal 2017-05-12 10:32:16 +02:00
parent 0e9cf558b4
commit 15424149cd
3 changed files with 15 additions and 3 deletions

View File

@ -293,7 +293,6 @@ multiSlsDetector::~multiSlsDetector() {
int multiSlsDetector::createThreadPool(){
if(threadpool){
threadpool->destroy_threadpool();
threadpool=0;
}
if(thisMultiDetector->numberOfDetectors < 1){
cout << "No detectors attached to create threadpool" << endl;
@ -321,6 +320,7 @@ int multiSlsDetector::createThreadPool(){
void multiSlsDetector::destroyThreadPool(){
if(threadpool){
threadpool->destroy_threadpool();
delete threadpool;
threadpool=0;
#ifdef VERBOSE
cout<<"Destroyed Threadpool "<< threadpool << endl;

View File

@ -778,6 +778,14 @@ void postProcessing::initDataset(int r) {
cout << "done" << endl;
#endif
delete [] chPM;
delete [] mM;
if (ffcoeff != NULL) delete [] ffcoeff;
if (fferr != NULL) delete [] fferr;
if (angRad != NULL) delete [] angRad;
if (angOff != NULL) delete [] angOff;
if (angCenter != NULL) delete [] angCenter;
if (*correctionMask&(1<< ANGULAR_CONVERSION)) {
arraySize=getNumberOfAngularBins();

View File

@ -127,6 +127,9 @@ void* ThreadPool::execute_thread(){
(*task)(); // could also do task->run(arg);
/*cout << ithread <<" Done executing thread " << pthread_self() << endl;*/
delete task;
/*cout << ithread << " task deleted" << endl;*/
m_task_mutex.lock();
number_of_ongoing_tasks--;
m_task_mutex.unlock();
@ -138,9 +141,10 @@ void* ThreadPool::execute_thread(){
m_tasks_loaded = false;
}
//if(zmqthreadpool) cout<<"***"<<ithread<<" semaphore done address post:"<<&semDone<<endl;
sem_post(&semDone);
delete task;
/*cout << ithread << " task deleted" << endl;*/
//removed deleteing task to earlier
}
return NULL;
}