From Marco Jez, replacement of local mutex lock/unlock with ScopedLock.

This commit is contained in:
Robert Osfield
2004-05-07 19:55:12 +00:00
parent bdeb391a00
commit 26f80f1341

View File

@@ -21,6 +21,7 @@
#include <OpenThreads/Thread>
#include <OpenThreads/Mutex>
#include <OpenThreads/ScopedLock>
#include <OpenThreads/Condition>
#include <osgDB/SharedStateManager>
@@ -37,28 +38,25 @@ class Block: public osg::Referenced {
void block()
{
_mut.lock();
OpenThreads::ScopedLock<OpenThreads::Mutex> mutlock(_mut);
if( !_released )
_cond.wait(&_mut);
_mut.unlock();
}
void release()
{
_mut.lock();
OpenThreads::ScopedLock<OpenThreads::Mutex> mutlock(_mut);
if (!_released)
{
_released = true;
_cond.broadcast();
}
_mut.unlock();
}
void reset()
{
_mut.lock();
OpenThreads::ScopedLock<OpenThreads::Mutex> mutlock(_mut);
_released = false;
_mut.unlock();
}
protected: