Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Control.Concurrent.ThreadObject
Documentation
data ThreadObject a signal Source
Constructors
ThreadObject | |
Fields
|
data ActionType a signal Source
Constructors
IOAction (a -> IO a) (Maybe signal) | |
PureAction (a -> a) (Maybe signal) | |
SetSyncOnGet (a -> IO a) | |
SetSyncOnPut (a -> Maybe signal -> IO ()) | |
GetObjectValueIO (a -> IO ()) | |
FreeObject (MVar Bool) |
threadObject :: IO (ThreadObject a signal) Source
data SeedOrSyncOnGet a Source
Constructors
SeedInitially a | |
SyncOnGet (a -> IO a) a |
data InitialThreadState a signal Source
Constructors
DoNotSync (SeedOrSyncOnGet a) | |
SyncWithoutSignal (SeedOrSyncOnGet a) | |
SyncWithSignal (SeedOrSyncOnGet a) (Maybe signal) |
objectInit :: Exception exception => ThreadObject a signal -> InitialThreadState a signal -> (a -> Maybe signal -> IO ()) -> (a -> exception -> IO a) -> IO () Source
loopObjectSyncOnPutPhase :: Exception exception => ThreadObject a signal -> (a -> IO a) -> (a -> Maybe signal -> IO ()) -> a -> a -> Maybe signal -> (a -> exception -> IO a) -> IO () Source
loopObject :: Exception exception => ThreadObject a signal -> (a -> IO a) -> (a -> Maybe signal -> IO ()) -> a -> (a -> exception -> IO a) -> IO () Source
update :: ThreadObject a signal -> (a -> a) -> IO () Source
updateBlock :: ThreadObject a signal -> (a -> a) -> IO () Source
updateWithSignal :: ThreadObject a signal -> (a -> a) -> signal -> IO () Source
updateWithSignal' :: ThreadObject a signal -> (a -> a) -> Maybe signal -> IO () Source
updateReturning :: ThreadObject a signal -> (a -> (a, b)) -> IO b Source
updateIOReturning :: ThreadObject a signal -> (a -> IO (a, b)) -> IO b Source
updateIOReturningInThisThread :: ThreadObject a signal -> (a -> IO (a, b)) -> IO b Source
updateMulti :: ThreadObject a signalA -> (a -> IO a) -> IO () Source
updateMultiWithSignal :: ThreadObject a signalA -> signalA -> (a -> IO a) -> IO () Source
alsoUpdate :: ThreadObject a signal -> (t -> a -> IO (a, b)) -> t -> IO b Source
finallyUpdate :: ThreadObject a signal -> (t -> a -> (a, b)) -> t -> IO b Source
updateHelper :: a -> b -> MVar a -> (a -> b -> IO (a, b)) -> IO b Source
updateWith :: ThreadObject a signalA -> ThreadObject b signalB -> (a -> b -> b) -> IO () Source
updateWith2 :: ThreadObject a signalA -> ThreadObject b signalB -> ThreadObject c signalC -> (a -> b -> c -> c) -> IO () Source
updateIO :: ThreadObject a signalA -> (a -> IO a) -> IO () Source
updateIONoBlock :: ThreadObject a singalA -> (a -> IO a) -> IO () Source
updateIONoBlockWithSignal :: ThreadObject a signalA -> (a -> IO a) -> signalA -> IO () Source
updateIONoBlockWithSignal' :: ThreadObject a signalA -> (a -> IO a) -> Maybe signalA -> IO () Source
getObjectValue :: ThreadObject a signalA -> IO a Source
setSyncOnGet :: ThreadObject a signalA -> (a -> IO a) -> IO () Source
setSyncOnPut :: ThreadObject a signalA -> (a -> Maybe signalA -> IO ()) -> IO () Source
noSyncOnGet :: a -> IO a Source
noSyncOnPut :: a -> Maybe signalA -> IO () Source
handleExceptionStdErr :: [Char] -> b -> SomeException -> IO b Source
freeObject :: ThreadObject a signalA -> IO () Source