Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
A #GOnce struct controls a one-time initialization function. Any one-time initialization function must have its own unique #GOnce struct.
- newtype Once = Once (ForeignPtr Once)
- newZeroOnce :: MonadIO m => m Once
- noOnce :: Maybe Once
- onceInitEnter :: MonadIO m => Ptr () -> m Bool
- onceInitLeave :: MonadIO m => Ptr () -> Word64 -> m ()
- onceReadRetval :: Once -> IO (Ptr ())
- onceReadStatus :: Once -> IO OnceStatus
Exported types
newZeroOnce :: MonadIO m => m Once Source
Construct a Once
struct initialized to zero.
Methods
onceInitEnter
onceInitEnter :: MonadIO m => Ptr () -> m Bool Source
onceInitLeave
onceInitLeave :: MonadIO m => Ptr () -> Word64 -> m () Source
Properties
Retval
onceReadRetval :: Once -> IO (Ptr ()) Source
Status
onceReadStatus :: Once -> IO OnceStatus Source