*/
class mutex {
public:
- mutex(pthread_mutex_t& mutex_p) : _mutex{mutex_p}
+ explicit mutex(pthread_mutex_t& mutex_p) : _mutex{mutex_p}
{
}
void unlock()
{
if (pthread_mutex_unlock(&_mutex) != 0) {
- LTTNG_THROW_POSIX("Failed to unlock mutex", errno);
+ /*
+ * Unlock cannot throw as it is called as part of lock_guard's destructor.
+ */
+ abort();
}
}
*/
class lock_guard {
public:
- lock_guard(pthread_mutex_t& mutex) : _mutex{mutex}, _guard(_mutex)
+ explicit lock_guard(pthread_mutex_t& mutex) : _mutex{mutex}, _guard(_mutex)
{
}