gi-glib-0.2.46.15: GLib bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.GLib.Structs.RecMutex

Contents

Description

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.

Synopsis

Exported types

newtype RecMutex Source

Constructors

RecMutex (ForeignPtr RecMutex) 

Instances

WrappedPtr RecMutex 
(~) AttrOpTag tag AttrSet => Constructible RecMutex tag 
((~) * signature (m ()), MonadIO m) => MethodInfo * RecMutexUnlockMethodInfo RecMutex signature 
((~) * signature (m Bool), MonadIO m) => MethodInfo * RecMutexTrylockMethodInfo RecMutex signature 
((~) * signature (m ()), MonadIO m) => MethodInfo * RecMutexLockMethodInfo RecMutex signature 
((~) * signature (m ()), MonadIO m) => MethodInfo * RecMutexInitMethodInfo RecMutex signature 
((~) * signature (m ()), MonadIO m) => MethodInfo * RecMutexClearMethodInfo RecMutex signature 
((~) * info (ResolveRecMutexMethod t RecMutex), MethodInfo * info RecMutex p) => IsLabelProxy t (RecMutex -> p) 
type AttributeList RecMutex 

newZeroRecMutex :: MonadIO m => m RecMutex Source

Construct a RecMutex struct initialized to zero.

Methods

recMutexClear

data RecMutexClearMethodInfo Source

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * RecMutexClearMethodInfo RecMutex signature 

recMutexInit

data RecMutexInitMethodInfo Source

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * RecMutexInitMethodInfo RecMutex signature 

recMutexLock

data RecMutexLockMethodInfo Source

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * RecMutexLockMethodInfo RecMutex signature 

recMutexTrylock

data RecMutexTrylockMethodInfo Source

Instances

((~) * signature (m Bool), MonadIO m) => MethodInfo * RecMutexTrylockMethodInfo RecMutex signature 

recMutexUnlock

data RecMutexUnlockMethodInfo Source

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * RecMutexUnlockMethodInfo RecMutex signature