mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-19 18:45:52 +00:00
28 lines
555 B
C++
28 lines
555 B
C++
#ifndef __SCOPEDLOCKHOLDER__
|
|
#define __SCOPEDLOCKHOLDER__
|
|
|
|
#include "boost/thread/recursive_mutex.hpp"
|
|
#include "boost/interprocess/sync/scoped_lock.hpp"
|
|
#include "boost/shared_ptr.hpp"
|
|
|
|
class ScopedLock
|
|
{
|
|
protected:
|
|
mutable boost::shared_ptr<boost::interprocess::scoped_lock<boost::recursive_mutex> > mHolder;
|
|
|
|
public:
|
|
ScopedLock(boost::recursive_mutex &mutex) :
|
|
mHolder(new boost::interprocess::scoped_lock<boost::recursive_mutex>(mutex))
|
|
{ ; }
|
|
void lock() const
|
|
{
|
|
mHolder->lock();
|
|
}
|
|
void unlock() const
|
|
{
|
|
mHolder->unlock();
|
|
}
|
|
};
|
|
|
|
#endif
|