diff --git a/src/ScopedLock.h b/src/ScopedLock.h index f9abc51ecb..e0e65ddfac 100644 --- a/src/ScopedLock.h +++ b/src/ScopedLock.h @@ -4,6 +4,11 @@ #include #include #include +#include +#include + +// A lock holder that can be returned and copied by value +// When the last reference goes away, the lock is released class ScopedLock { @@ -11,9 +16,9 @@ protected: mutable boost::shared_ptr > mHolder; public: - ScopedLock(boost::recursive_mutex &mutex) : - mHolder(new boost::interprocess::scoped_lock(mutex)) - { ; } + ScopedLock(boost::recursive_mutex& mutex) : + mHolder(boost::make_shared >(boost::ref(mutex))) + { ; } void lock() const { mHolder->lock();