Struct
GLibRecMutex
since: 2.32
Description
struct GRecMutex {
/* No available fields */
}
The GRecMutex struct is an opaque data structure to represent a
recursive mutex. It is similar to a GMutex with the difference
that it is possible to lock a GRecMutex multiple times in the same
thread without deadlock. When doing so, care has to be taken to
unlock the recursive mutex as often as it has been locked.
If a GRecMutex is allocated in static storage then it can be used
without initialisation. Otherwise, you should call
g_rec_mutex_init() on it and g_rec_mutex_clear() when done.
A GRecMutex should only be accessed with the g_rec_mutex_ functions.
Available since: 2.32
Instance methods
g_rec_mutex_clear
Frees the resources allocated to a recursive mutex with g_rec_mutex_init().
since: 2.32
g_rec_mutex_lock
Locks rec_mutex. If rec_mutex is already locked by another
thread, the current thread will block until rec_mutex is
unlocked by the other thread. If rec_mutex is already locked
by the current thread, the ‘lock count’ of rec_mutex is increased.
The mutex will only become available again when it is unlocked
as many times as it has been locked.
since: 2.32
g_rec_mutex_trylock
Tries to lock rec_mutex. If rec_mutex is already locked
by another thread, it immediately returns FALSE. Otherwise
it locks rec_mutex and returns TRUE.
since: 2.32
g_rec_mutex_unlock
Unlocks rec_mutex. If another thread is blocked in a
g_rec_mutex_lock() call for rec_mutex, it will become unblocked
and can lock rec_mutex itself.
since: 2.32