Streamly.Internal.Control.ForkLifted
Documentation
doFork :: MonadRunInIO m => m () -> RunInIO m -> (SomeException -> IO ()) -> m ThreadId Source #
Fork a thread to run the given computation, installing the provided exception handler. Lifted to any monad with 'MonadRunInIO m' capability.
TODO: the RunInIO argument can be removed, we can directly pass the action as "mrun action" instead.
doForkWith :: MonadRunInIO m => Bool -> m () -> RunInIO m -> (SomeException -> IO ()) -> m ThreadId Source #
fork :: MonadRunInIO m => m () -> m ThreadId Source #
fork
lifted to any monad with 'MonadBaseControl IO m' capability.
forkManaged :: MonadRunInIO m => m () -> m ThreadId Source #
Fork a thread that is automatically killed as soon as the reference to the returned threadId is garbage collected.