Replaced OpenThreads::Mutex with a OpenThreads::ReentrantMutex to allow draw callbacks to use Renderer.

This commit is contained in:
Robert Osfield
2013-06-06 08:23:37 +00:00
parent 49cfece9d4
commit d66ee2c698

View File

@@ -14,6 +14,7 @@
#include <stdio.h>
#include <osg/GLExtensions>
#include <OpenThreads/ReentrantMutex>
#include <osgUtil/Optimizer>
#include <osgUtil/GLObjectsVisitor>
@@ -344,7 +345,7 @@ void Renderer::ThreadSafeQueue::add(osgUtil::SceneView* sv)
_cond.broadcast();
}
static OpenThreads::Mutex s_drawSerializerMutex;
static OpenThreads::ReentrantMutex s_drawSerializerMutex;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
@@ -852,7 +853,7 @@ void Renderer::cull_draw()
if (_serializeDraw)
{
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(s_drawSerializerMutex);
OpenThreads::ScopedLock<OpenThreads::ReentrantMutex> lock(s_drawSerializerMutex);
beforeDrawTick = osg::Timer::instance()->tick();
sceneView->draw();