2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 14:05:33 +00:00

[2332] (unrelated) cleanup: removed unnecesary failure case in Locker.

We don't have to worry about the case lock() throws in the constructor.
In that case the destructor won't be called.
This simplification will make the code simpler, and we can also make
mutex_ member variable a const.
This commit is contained in:
JINMEI Tatuya
2012-10-10 22:58:39 -07:00
parent 6962458ec4
commit dc5492b840

View File

@@ -85,26 +85,19 @@ public:
/// means an attempt to use the mutex in a wrong way (locking
/// a mutex second time from the same thread, for example).
Locker(Mutex& mutex) :
mutex_(NULL)
mutex_(&mutex)
{
// Set the mutex_ after we acquire the lock. This is because of
// exception safety. If lock() throws, it didn't work, so we must
// not unlock when we are destroyed. In such case, mutex_ is
// NULL and checked in the destructor.
mutex.lock();
mutex_ = &mutex;
}
/// \brief Destructor.
///
/// Unlocks the mutex.
~Locker() {
if (mutex_ != NULL) {
mutex_->unlock();
}
mutex_->unlock();
}
private:
Mutex* mutex_;
Mutex* const mutex_;
};
/// \brief If the mutex is currently locked
///