Added DatabasePager::setProcessorAffinity(const OpenThreads::Affinity&) support to allow the database threads to have affinity to user controls sets of CPU cores.

This commit is contained in:
Robert Osfield
2016-09-27 17:52:41 +01:00
parent 171e4f0f29
commit 77c5e96ccb
2 changed files with 26 additions and 0 deletions

View File

@@ -126,6 +126,10 @@ class OSGDB_EXPORT DatabasePager : public osg::NodeVisitor::DatabaseRequestHandl
};
virtual void setProcessorAffinty(const OpenThreads::Affinity& affinity);
OpenThreads::Affinity& getProcessorAffinty() { return _affinity; }
const OpenThreads::Affinity& getProcessorAffinty() const { return _affinity; }
void setUpThreads(unsigned int totalNumThreads=2, unsigned int numHttpThreads=1);
virtual unsigned int addDatabaseThread(DatabaseThread::Mode mode, const std::string& name);
@@ -438,6 +442,8 @@ class OSGDB_EXPORT DatabasePager : public osg::NodeVisitor::DatabaseRequestHandl
void addLoadedDataToSceneGraph(const osg::FrameStamp &frameStamp);
OpenThreads::Affinity _affinity;
bool _done;
bool _acceptNewRequests;
bool _databasePagerThreadPaused;