-- | Unlifted "System.Timeout". -- -- @since 0.1.0.0 module UnliftIO.Timeout ( timeout ) where import qualified System.Timeout as S import Control.Monad.IO.Unlift -- | Unlifted 'S.timeout'. -- -- @since 0.1.0.0 timeout :: MonadUnliftIO m => Int -> m a -> m (Maybe a) timeout x y = withRunInIO $ \run -> S.timeout x $ run y