Struct
GLibRecMutex
since: 2.32
Description [src]
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