Copyright | (c) Alexey Kuleshevich 2020 |
---|---|
License | BSD3 |
Maintainer | Alexey Kuleshevich <alexey@kuleshevi.ch> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- getThreadId :: ThreadId# -> CInt
- spark :: MonadPrim s m => a -> m a
- numSparks :: MonadPrim s m => m Int
- runSparks :: MonadPrim s m => m ()
- delay :: MonadPrim s m => Int -> m ()
- waitRead :: MonadPrim s m => Fd -> m ()
- waitWrite :: MonadPrim s m => Fd -> m ()
- fork :: MonadPrim RW m => m () -> m ThreadId
- forkOn :: MonadPrim RW m => Int -> m () -> m ThreadId
- killThread :: MonadPrim RW m => ThreadId -> m ()
- yield :: MonadPrim RW m => m ()
- myThreadId :: MonadPrim RW m => m ThreadId
- labelThread :: MonadPrim RW m => ThreadId -> Ptr a -> m ()
- isCurrentThreadBoundPrim :: MonadPrim RW m => m Bool
- threadStatus :: MonadPrim RW m => ThreadId -> m ThreadStatus
- threadCapability :: MonadPrim RW m => ThreadId -> m (Int, Bool)
- threadIdToCInt :: ThreadId -> CInt
- id2TSO :: ThreadId -> ThreadId#
Documentation
getThreadId :: ThreadId# -> CInt Source #
delay :: MonadPrim s m => Int -> m () Source #
Wrapper for delay#
. Sleep specified number of microseconds. Not designed for
threaded runtime: Errors when compiled with -threaded
waitWrite :: MonadPrim s m => Fd -> m () Source #
Wrapper for waitWrite#
. Block and wait until output is possible on the Fd
.
Not designed for threaded runtime: Errors when compiled with -threaded
killThread :: MonadPrim RW m => ThreadId -> m () Source #
Wrapper around killThread#
, which throws ThreadKilled
exception in the target
thread. Use throwTo
if you want a different exception to be thrown.
myThreadId :: MonadPrim RW m => m ThreadId Source #
Wrapper around myThreadId#
.
labelThread :: MonadPrim RW m => ThreadId -> Ptr a -> m () Source #
Pointer should refer to UTF8 encoded string of bytes
threadStatus :: MonadPrim RW m => ThreadId -> m ThreadStatus Source #