| Maintainer | Bas van Dijk <v.dijk.bas@gmail.com> |
|---|
System.IO.SaferFileHandles.Unsafe
Description
Unsafe functions for retrieving the native Handle from a regional file
handle and for lifting operations on Handles to RegionalFileHandles.
These operations are unsafe because they allow you to close regional file
handles before exiting their region. So they enable you to perform IO with
already closed handles.
- unsafeHandle :: RegionalFileHandle ioMode r -> Handle ioMode
- wrap :: MonadIO m => (Handle ioMode -> IO α) -> RegionalFileHandle ioMode r -> m α
- wrap2 :: MonadIO m => (Handle ioMode -> β -> IO α) -> RegionalFileHandle ioMode r -> β -> m α
- wrap3 :: MonadIO m => (Handle ioMode -> γ -> β -> IO α) -> RegionalFileHandle ioMode r -> γ -> β -> m α
- sanitizeIOError :: IO α -> IO α
Documentation
unsafeHandle :: RegionalFileHandle ioMode r -> Handle ioModeSource
wrap3 :: MonadIO m => (Handle ioMode -> γ -> β -> IO α) -> RegionalFileHandle ioMode r -> γ -> β -> m αSource
sanitizeIOError :: IO α -> IO αSource
Modify thrown IOErrors in the given computation by erasing the
ioe_handle field in the IOError which may contain the Handle which
caused the IOError.
I use this to ensure that Handles don't leak out the region via
exceptions.