X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOMultiThreadImageReader.cpp;h=3ee50de9a2e558912cfe0d8ac0e489e2cc1cd209;hb=cb539b100d38f3092d06430575f846c916235db4;hp=65d2aab22f32643f59b6c921abbe5816b37c2837;hpb=7f1bed35928f6c3bb1b756ba099a0a33b562bfe2;p=creaImageIO.git diff --git a/src2/creaImageIOMultiThreadImageReader.cpp b/src2/creaImageIOMultiThreadImageReader.cpp index 65d2aab..3ee50de 100644 --- a/src2/creaImageIOMultiThreadImageReader.cpp +++ b/src2/creaImageIOMultiThreadImageReader.cpp @@ -3,7 +3,10 @@ #include #include - +#include +#ifdef _DEBUG +#define new DEBUG_NEW +#endif namespace creaImageIO { @@ -48,7 +51,6 @@ namespace creaImageIO }; - //===================================================================== @@ -62,6 +64,7 @@ namespace creaImageIO // std::cout << "#### MultiThreadImageReader::MultiThreadImageReader(" // << " #threads= " << number_of_threads <<" )"< t(new ThreadedImageReader(this), ThreadedImageReader::deleter()); mThreadedImageReaderList.push_back(t); std::cout << " ===> Thread "< Thread "<<(*i)->GetCurrentId() <<" successfully stopped"<< std::endl; if((*i)->IsAlive()) - { + {(*i)->Pause(); (*i).reset(); - //(*i)->Delete(); + // (*i)->Delete(); } } - // mThreadedImageReaderList.clear(); + mThreadedImageReaderList.clear(); // Wait a little to be sure that all threads have stopped // A better way to do this ? // wxMilliSleep(1000); @@ -173,6 +177,7 @@ namespace creaImageIO delete j->first; } mImages.clear(); + mDone = true; } //===================================================================== @@ -213,7 +218,7 @@ namespace creaImageIO int priority ) { wxMutexLocker lock(GetMultiThreadImageReaderUserMutex()); //mMutex); - + if (mNumberOfThreadedReadersRunning==0) // if (mThreadedImageReaderList.size()==0) { @@ -242,7 +247,6 @@ namespace creaImageIO return; } - ImageToLoad itl(user,filename); ImageMapType::iterator i = mImages.find(&itl); if (i!=mImages.end()) @@ -483,7 +487,6 @@ namespace creaImageIO GimmickMessage(5," ==> Total mem = "<Index()>=0) @@ -514,8 +516,6 @@ namespace creaImageIO // std::cout << "delete ok."<