gi-glib-0.2.46.13: 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

((~) * info (ResolveRecMutexMethod t RecMutex), MethodInfo * info RecMutex p) => IsLabel t (RecMutex -> p) Source 

Methods

fromLabel :: Proxy# Symbol t -> RecMutex -> p

((~) * info (ResolveRecMutexMethod t RecMutex), MethodInfo * info RecMutex p) => IsLabelProxy t (RecMutex -> p) Source 

Methods

fromLabelProxy :: Proxy Symbol t -> RecMutex -> p

((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) RecMutexUnlockMethodInfo RecMutex signature Source 
((~) (TYPE Lifted) signature (m Bool), MonadIO m) => MethodInfo (TYPE Lifted) RecMutexTrylockMethodInfo RecMutex signature Source 
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) RecMutexLockMethodInfo RecMutex signature Source 
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) RecMutexInitMethodInfo RecMutex signature Source 
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) RecMutexClearMethodInfo RecMutex signature Source 

newZeroRecMutex :: MonadIO m => m RecMutex Source

Construct a RecMutex struct initialized to zero.

Methods

recMutexClear

recMutexInit

recMutexLock

recMutexTrylock

recMutexUnlock