Added ReadQueue::size() method to help with debugging.

This commit is contained in:
Robert Osfield
2012-09-20 11:14:10 +00:00
parent 67abc66d8a
commit b32cf216a7
2 changed files with 14 additions and 2 deletions

View File

@@ -122,8 +122,10 @@ class OSGDB_EXPORT ImagePager : public osg::NodeVisitor::ImageRequestHandler
void sort();
unsigned int size() const;
RequestList _requestList;
OpenThreads::Mutex _requestMutex;
mutable OpenThreads::Mutex _requestMutex;
};

View File

@@ -35,13 +35,20 @@ struct ImagePager::SortFileRequestFunctor
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// ReadQueue
// RequestQueue
//
void ImagePager::RequestQueue::sort()
{
std::sort(_requestList.begin(),_requestList.end(),SortFileRequestFunctor());
}
unsigned int ImagePager::RequestQueue::size() const
{
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_requestMutex);
return _requestList.size();
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
@@ -74,9 +81,12 @@ void ImagePager::ReadQueue::clear()
void ImagePager::ReadQueue::add(ImagePager::ImageRequest* databaseRequest)
{
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_requestMutex);
_requestList.push_back(databaseRequest);
databaseRequest->_requestQueue = this;
OSG_INFO<<"ImagePager::ReadQueue::add(..), size()="<<size()<<std::endl;
updateBlock();
}