mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-07 10:30:41 +02:00
removed leak from postprocessing, moved delete task to earlier in threadpool and deleting threadpool
This commit is contained in:
parent
0e9cf558b4
commit
15424149cd
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user