gi-glib-2.0.2: 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 Source # 

Methods

wrappedPtrCalloc :: IO (Ptr RecMutex)

wrappedPtrCopy :: Ptr RecMutex -> IO (Ptr RecMutex)

wrappedPtrFree :: Maybe (FunPtr (Ptr RecMutex -> IO ()))

(~) AttrOpTag tag AttrSet => Constructible RecMutex tag Source # 

Methods

new :: MonadIO m => (ForeignPtr RecMutex -> RecMutex) -> [AttrOp RecMutex tag] -> m RecMutex

((~) * 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

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

Methods

overloadedMethod :: MethodProxy RecMutexUnlockMethodInfo RecMutex -> signature -> s

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

Methods

overloadedMethod :: MethodProxy RecMutexTrylockMethodInfo RecMutex -> signature -> s

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

Methods

overloadedMethod :: MethodProxy RecMutexLockMethodInfo RecMutex -> signature -> s

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

Methods

overloadedMethod :: MethodProxy RecMutexInitMethodInfo RecMutex -> signature -> s

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

Methods

overloadedMethod :: MethodProxy RecMutexClearMethodInfo RecMutex -> signature -> s

type AttributeList RecMutex Source # 
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 Source # 

Methods

overloadedMethod :: MethodProxy RecMutexClearMethodInfo RecMutex -> signature -> s

recMutexClear :: MonadIO m => RecMutex -> m () Source #

recMutexInit

data RecMutexInitMethodInfo Source #

Instances

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

Methods

overloadedMethod :: MethodProxy RecMutexInitMethodInfo RecMutex -> signature -> s

recMutexInit :: MonadIO m => RecMutex -> m () Source #

recMutexLock

data RecMutexLockMethodInfo Source #

Instances

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

Methods

overloadedMethod :: MethodProxy RecMutexLockMethodInfo RecMutex -> signature -> s

recMutexLock :: MonadIO m => RecMutex -> m () Source #

recMutexTrylock

data RecMutexTrylockMethodInfo Source #

Instances

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

Methods

overloadedMethod :: MethodProxy RecMutexTrylockMethodInfo RecMutex -> signature -> s

recMutexTrylock :: MonadIO m => RecMutex -> m Bool Source #

recMutexUnlock

data RecMutexUnlockMethodInfo Source #

Instances

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

Methods

overloadedMethod :: MethodProxy RecMutexUnlockMethodInfo RecMutex -> signature -> s

recMutexUnlock :: MonadIO m => RecMutex -> m () Source #