Replace boost::reverse_lock with our own.

This commit is contained in:
Casey Rodarmor
2015-09-03 12:53:00 -04:00
parent da9beb288d
commit 86270c8164
5 changed files with 100 additions and 2 deletions

31
src/reverselock.h Normal file
View File

@@ -0,0 +1,31 @@
// Copyright (c) 2015 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_REVERSELOCK_H
#define BITCOIN_REVERSELOCK_H
/**
* An RAII-style reverse lock. Unlocks on construction and locks on destruction.
*/
template<typename Lock>
class reverse_lock
{
public:
explicit reverse_lock(Lock& lock) : lock(lock) {
lock.unlock();
}
~reverse_lock() {
lock.lock();
}
private:
reverse_lock(reverse_lock const&);
reverse_lock& operator=(reverse_lock const&);
Lock& lock;
};
#endif // BITCOIN_REVERSELOCK_H