glibmm  2.32.0
Public Member Functions
Glib::Threads::Mutex::Lock Class Reference

Utility class for exception-safe mutex locking. More...

#include <glibmm/threads.h>

List of all members.

Public Member Functions

 Lock (Mutex& mutex)
 Lock (Mutex& mutex, NotLock)
 Lock (Mutex& mutex, TryLock)
 ~Lock ()
void acquire ()
bool try_acquire ()
void release ()
bool locked () const

Detailed Description

Utility class for exception-safe mutex locking.

Usage example:
 {
   Glib::Mutex::Lock lock (mutex); // calls mutex.lock()
   do_something();
 } // the destructor calls mutex.unlock()
As you can see, the compiler takes care of the unlocking. This is not only exception safe but also much less error-prone. You could even return while still holding the lock and it will be released properly.
Examples:
thread/thread.cc.

Constructor & Destructor Documentation

Glib::Threads::Mutex::Lock::Lock ( Mutex mutex) [inline, explicit]
Glib::Threads::Mutex::Lock::Lock ( Mutex mutex,
NotLock   
) [inline]
Glib::Threads::Mutex::Lock::Lock ( Mutex mutex,
TryLock   
) [inline]

Member Function Documentation

bool Glib::Threads::Mutex::Lock::locked ( ) const [inline]