From: JINMEI Tatuya Date: Thu, 11 Oct 2012 05:58:39 +0000 (-0700) Subject: [2332] (unrelated) cleanup: removed unnecesary failure case in Locker. X-Git-Tag: trac2402_base~19^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc5492b8401c85daf1b0c8801e497bac3d5eeea5;p=thirdparty%2Fkea.git [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. --- diff --git a/src/lib/util/threads/lock.h b/src/lib/util/threads/lock.h index c219abbdff..8a072f10d3 100644 --- a/src/lib/util/threads/lock.h +++ b/src/lib/util/threads/lock.h @@ -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 ///